{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 06 - Grouped and Dummy Regression\n",
    "\n",
    "\n",
    "## Regression With Grouped Data\n",
    "\n",
    "Not all data points are created equal. If we look again at our ENEM dataset, we trust the scores of big schools much more than the scores from small schools. This is not to say that big schools are better or anything. It is just due to the fact that their big size imply less variance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from scipy import stats\n",
    "from matplotlib import style\n",
    "import seaborn as sns\n",
    "from matplotlib import pyplot as plt\n",
    "import statsmodels.formula.api as smf\n",
    "\n",
    "style.use(\"fivethirtyeight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "tags": [
     "hide-input"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi4AAAE0CAYAAAAL77i/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAB7n0lEQVR4nO3dd3xT1fvA8U+adBcolNJCByCUvVfZKHvIBlGQpYIM+YnKFNkiMgSRLxtlCIpQkb2hQsEKKFNQZAgUKKW0FCiltGnz+6MmNk3SJh0kKc/79eKlvSvn5ia5zz3nOeco4uLiNAghhBBC2AEHaxdACCGEEMJcErgIIYQQwm5I4CKEEEIIuyGBixBCCCHshgQuQgghhLAbErgIIYQQwm5I4CLylQ4dOuDp6cmNGzesXRS7U7VqVTw9Pa1djFz16NEjxo0bR/Xq1SlatCienp6EhYVZu1g55unpSYcOHaxdjDyxfv16PD09Wb9+vdXKkJ9/R27cuGGTn5+ZM2ea/f3Ml4GLp6dnlv/SvzlhYWG65X369DF6zMTERDw9Palatarecu2HIKt/6b8A2i+mp6cn7dq1M3ket27dokiRIrptExMTzX4Pzpw5w+DBg6latSrFihXD39+f6tWr07NnT+bOncuDBw/MPpYwj/aL5+npyZIlS4xuc+DAATw9PRk6dOhzLt2LafLkySxdupSAgABGjhzJ2LFjCQwMzHK/w4cP07dvXypWrIi3tzeBgYHUqlWLPn36sHDhQp49e6bb1lZvBHlB+1tp759fewhMtm7dSo8ePQgKCqJo0aKUKlWKunXr8vbbb/P1119bu3hWpbJ2AfLS2LFjTa4z9eO1c+dOjh07RqNGjSx6rYIFC2b6ZS5UqJDBMpVKRXh4OH///TflypUzWP/tt9+SmpqKSqVCrVabXZaQkBDeffddUlNTadKkCe3bt8fd3Z1bt27x66+/sn//fpo1a0bdunXNPqawzOzZs3njjTfyXQ2Gvdm7dy8eHh789NNPODo6mrXPl19+yZQpU1CpVLRo0YIyZcrg5OTE9evXCQ8PZ+fOnbz22mv4+PjkcelfTK+++ip169Z9od/fDz/8kG+++QZXV1dat25NyZIlAbhy5QoHDx5kx44dvP3221YupfXk68Bl/PjxFm3/0ksvce3aNSZMmEBoaCgKhcLsfQsVKmTx67Vu3Zpdu3axdu1aPv30U711qamprF+/nmrVqvHgwQMiIiLMOubTp0/58MMPAdiyZQvNmjUz2ObMmTMUL17corIK85UpU4arV68ye/ZsPvvsM2sX54UWGRmJv7+/2UFLREQE06dPp2DBguzevZvKlSvrrddoNBw9ehQPD4+8KK4g7bfU2IPei+L48eN88803+Pn5sW/fPvz8/PTWp6SkcOjQISuVzjbky6ai7KpRowZdu3blzJkz/PDDD3n+euXKlaNBgwZ8//33JCUl6a07cOAAt27don///hYd888//+TRo0dUrFjRaNACaedp7Gnmzp07jBs3jtq1a+Pr60vJkiVp1qwZM2bMIDk5WW/bc+fOMWDAAIKCgvD29qZy5cq89957XL9+3eC42iaU9evXs2/fPtq1a0dAQIDuKQLSmuIWLlxIs2bN8PPzo0SJErz88st88803aDSWz0qh0WhYuHAhderUwcfHh8qVKzNhwgQeP36s2yYlJYXKlSsTEBBAfHy80eNMmTIFT09P1q5da/Zrv/322/j7+7Ny5Ur++ecfs/YZOnSoyaprbVNExho97T5hYWGEhITQrFkzihcvToUKFfj44491zRmHDx/m1VdfJSAggMDAQAYPHkxsbKzJsjx79oxp06bpmhlr1qzJ7NmzDT6jWteuXWPEiBFUqVKFYsWKUaZMGfr06cOZM2cMtjXns5CZ69evM2zYMCpVqoS3tzdBQUEMGDCAP/74Q287bVOARqMhIiJC14SXVXPO77//TkpKCo0bNzYIWgAUCgVNmjTB3d0dSGv2rV69OgDHjh3Tax6eOXMm8F/zivbvjLRlzSgpKYnZs2dTo0YNihUrRrVq1fj000/1mqkySk1NZe3atbRp04bAwEB8fHxo0KAB8+bNM3r9tM3fT548YeLEibprWLNmTb788ku9797MmTPp2LEjAN9//73euWrzUTQaDd9//z1t2rShbNmy+Pj4UKlSJTp27MiaNWtMljs9Uzku2hwstVrNF198Qa1atShWrBiVK1dm8uTJJj+fxs752LFjAFSvXl13DhnTALRWrVpFw4YN8fHxISgoiPfff5+HDx8a3TYqKopx48ZRq1YtfHx8KFmyJF27duXw4cNmlQ3SAheAjh07GgQtAEqlklatWhnd99SpU7z11lu6Js5y5crRsWNHvvvuO6Pbx8TE8P7771O+fHmKFStG/fr1WbdundFtNRoNa9eupWXLlvj7+1O8eHGaNGnCwoULDe4PWpbcJyyRr2tcsmPy5Mns2rWL6dOn07lzZ1xdXfP09fr378+QIUPYuXMnXbt21S1fs2YNbm5u9OjRgy+//NLs4xUuXBiAu3fv8uTJE90PbFZOnz5N9+7diY2NpUGDBnTo0IHExEQuX77M/PnzGT58uO7Hdf/+/bz55pukpKTQsWNHSpcuzYULF1i3bh07duxg27ZtVKtWzeA1tm7dysGDB2ndujVvvfUW9+7dA+Dx48d06dKF33//nWrVqtG7d28ADh48yIcffsjJkydN5oyYMm7cOH799Ve6du1KwYIF2b9/P4sWLeLXX39l165dODs7o1Qq6devHzNnziQkJIQBAwboHSM5OZn169dTsGBBunfvbvZru7i4MHnyZAYNGsTkyZMtCnqyY/ny5YSGhtK+fXsaNmzInj17WLx4MQ8fPqR169a8++67tG3bln79+nH48GE2btxIbGwsISEhRo/Xv39/zp49S8eOHXF0dGTnzp189tlnnDlzxuAH8PDhw/Tp04fExETatGlDmTJliIyMZPv27Rw4cIDvvvuOFi1aGLyGqc9CZs6cOUPnzp159OgRrVu3pnLlyvzzzz9s376dPXv28N1339G8eXMAevfuTePGjZk1a5ZeM25W+S3a78/169dJSUlBqVRmun3VqlUZMmSILo9G+9kFaNy4cZbnZIpGo2HAgAHs2rWLUqVKMWjQIN3n8cKFC0b3UavVvPnmm+zZs4eyZcvSvXt3nJ2dOXbsGNOmTePw4cP8+OOPqFQqg/26d+9OZGQkLVu2RKVSsXPnTqZMmUJiYiLjxo3Tnc/Nmzf5/vvvqVKlil4QqL3pT58+nXnz5hEYGEjnzp0pVKgQUVFR/PHHH2zYsMHiBzFj3nnnHcLDw2nZsiUFChRg//79LFiwgOjoaBYvXpzl/mPHjuW7774jIiKCIUOG6Gp3jNXyTJ48mUOHDtG2bVteeeUVwsLCWLNmDdeuXWP79u162164cIGuXbsSHR1N8+bNad++PbGxsezcuZMuXbrw1Vdf0bdv3yzLp/2dvXbtmhnvxn/Wrl3LBx98gIODA23btiUoKIiYmBjOnj3LkiVL9D6bAA8fPqRNmzY4OTnRqVMnkpKS2LJlC++99x4ODg4G2w8ZMoQffviBEiVK0Lt3bxwdHdmzZw8TJ04kNDSUjRs36n22snufMEe+DlxMPeGA6WakUqVKMXjwYBYuXMj//vc/Ro8ebdZrPXz40OTrFSpUiGHDhhld17lzZ8aOHcuaNWt0gUtUVBR79+7ltddes7jKtFSpUtSqVYtTp07RunVr+vfvT7169ahQoQIuLi5G90lKSqJ///7ExsayZMkS3njjDb31UVFRuqrxJ0+eMGTIEJKTk9myZQtNmzbVbbd27Vr+7//+jyFDhnDs2DGDprb9+/ezadMmWrZsqbf8448/5vfff2fKlCmMHDlSt/zZs2f07duX77//nk6dOmWayJzRiRMnCAsLIyAgAIBJkybRt29fdu3axaJFi3TNaf3792fu3LmsWrXKIHDZvn070dHRDBo0yOwAUKtHjx4sXbqUbdu2ER4eToMGDSza3xJhYWEcOXKEl156CUD3xPf999+ze/dutm/frstnSkpKolmzZhw4cIBz584Z/eG4fPky4eHhuh/QTz75hA4dOrBr1y5CQkLo0aMHkPaZHzhwII6Ojhw4cIAKFSrojnHp0iVatGjB8OHDOXv2LM7OznqvYeqzYIpGo2HIkCE8fPiQxYsX6/2o/vzzz3Tt2pXBgwdz7tw53NzcdEn2s2bNsqgZt06dOgQEBHDx4kVeffVV3njjDWrXrk358uUNbvgA1apVo1ChQixdupTAwECLm4tNCQkJYdeuXdSqVYudO3fqHqA+/vhjo4EgwPz589mzZw+DBg3i888/1wVdqampfPDBB6xZs4avv/6ad999V2+/yMhIqlSpwk8//aR7nbFjx1K7dm0WL17MRx99hKOjI02aNAHSaluqVq1q9FxXrVpF8eLFCQ8PN/jOxMTE5OxN+dc///zDr7/+qgsyJ06cSOPGjdmwYQOTJ0/OMjdm/PjxHD16lIiICIYOHZppbd9vv/3GsWPHdL8jarWajh07EhYWxu+//07t2rWBtNrb/v378/DhQ7Zv364XtN69e5cWLVowZswY2rZti7e3d6bla9myJQULFmTfvn306tWL7t27U7NmTcqUKYODg/FGkr/++osPP/wQd3d3o02ct27dMtjnjz/+oG/fvnz55Ze6z8rQoUNp1KgRCxYs0PuObd68mR9++IHKlSuze/duChYsCKQFdj169ODQoUMsWbKEESNGADm7T5gjXzcVzZo1y+S/zIwaNQovLy8WLFhg1pMgpHW7NPVamdUWuLq68tprr3H48GFd9dn69etRq9XZejpRKBSsWbOGxo0bc+HCBcaMGcPLL7+Mv78/TZs2ZebMmdy/f19vn927d3Pz5k1at25tELQA+Pj46H60d+7cSUxMDJ06ddL7MAL069eP6tWrc/HiRU6ePGlwnPbt2xvcqB48eMD3339PtWrV9IIWAGdnZyZNmgRgcdPdkCFDdD82kFa9OnXqVBQKhV5VqK+vLx06dODs2bOcOnVK7xirVq0CYODAgRa9NqRdB23e0oQJE7LV3GWud999Vxe0QFqg3K5dO1JTU2nTpo1eEraTkxNdunQBMGhe0Ro9erRe04WrqyuffPIJgN57t2HDBmJjYxk7dqxe0AJQvnx5+vXrx927d41Wkxv7LGTm+PHj/PXXX9SqVcvgSfDll1/m1Vdf5f79++zatcvsYxrj7u6uuzGHh4fzf//3fzRq1Ag/Pz9at27NwoULTTYr5iZtM8nEiRP1an09PT0ZNWqUwfapqaksXboUb29vZs6cqVdT5ODgoPvsm/oezZo1S+91vL29ad++PY8ePeLy5csWld3R0dFokOfl5WXRcUyZOnWqLmiBtGvWs2dPUlNTOX36dK68htaYMWP0fkdUKpUuKP799991y/ft28eVK1d4++23DWrafH19GTFiBE+fPmXr1q1ZvmaJEiVYt24dpUuXZu/evQwePJi6desSEBBAx44dWb16tUGz2Ndff41arWbUqFFGmzj9/f0Nlrm5uTFjxgy9z0qFChUIDg7m0qVLep9zba3x5MmTdUELpP2eaPP40jcF5uQ+YY58XeMSFxeXrf0KFSrE2LFjGTNmDDNmzGDBggVZ7hMQEMD58+ez9Xr9+/dnxYoVrF27lokTJ7J27VrdByg7AgIC2LFjB5cuXSI0NJTTp09z6tQpzp07x7lz51i5ciU//vgjNWrUANKeKgCzbiRnz54FMPgwar388sucPXuWs2fPUq9ePb112qeT9H7//XfUajUODg5Ga6y0van+/vvvLMuWnrFeYUFBQRQrVoxr167x+PFjChQoAKTlpGzZsoVVq1ZRq1YtIC17PywsjPr161OpUiWLXlurQYMGdOrUiW3bthESEkLPnj2zdZysGKs18fX1NblOm5h9584do8cz9t41bNgQhULBuXPndMu0bfEXLlwweu2u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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(876)\n",
    "enem = pd.read_csv(\"./data/enem_scores.csv\").sample(200)\n",
    "plt.figure(figsize=(8,4))\n",
    "sns.scatterplot(y=\"avg_score\", x=\"number_of_students\", data=enem)\n",
    "sns.scatterplot(y=\"avg_score\", x=\"number_of_students\", s=100, label=\"Trustworthy\",\n",
    "                data=enem.query(f\"number_of_students=={enem.number_of_students.max()}\"))\n",
    "sns.scatterplot(y=\"avg_score\", x=\"number_of_students\", s=100, label=\"Not so Much\",\n",
    "                data=enem.query(f\"avg_score=={enem.avg_score.max()}\"))\n",
    "plt.title(\"ENEM Score by Number of Students in the School\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the data above, intuitively, points to the left should have less impact in my model than points to the right. In essence, points to the right are actually lots of other data points grouped into a single one. If we could unbundle them and run a linear regression on the ungrouped data, they would indeed contribute much more to the model estimation than an unbundled point in the left. \n",
    "\n",
    "This phenomenon of having a region of low variance and another of high variance is called **heteroskedasticity**. Put it simply, heteroskedasticity is when the variance is not constant across all values of the features. In the case above, we can see that the variance decreases as the feature sample size increases. To give another example of where we have heteroskedasticity, if you plot wage by age, you will see that there is higher wage variance for the old than for the young. But, by far, the most common reason for variance to differ is grouped data.\n",
    "\n",
    "Grouped data like the one above are extremely common in data analysis. One reason for that is confidentiality. Governments and firms can't give away personal data because that would violate data privacy requirements they have to follow. If they need to export data to an outside researcher, they can only do it by means of grouping the data. This way, individuals get grouped together and are no longer uniquely identifiable.\n",
    "\n",
    "Fortunately for us, regression can handle those kinds of data pretty well. To understand how, let's first take some ungrouped data like the one we had on wage and education. It contains one line per worker, so we know the wage for each individual in this dataset and also how many years of education he or she has."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>wage</th>\n",
       "      <th>lhwage</th>\n",
       "      <th>educ</th>\n",
       "      <th>IQ</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>769</td>\n",
       "      <td>2.956212</td>\n",
       "      <td>12</td>\n",
       "      <td>93</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>808</td>\n",
       "      <td>2.782539</td>\n",
       "      <td>18</td>\n",
       "      <td>119</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>825</td>\n",
       "      <td>3.026504</td>\n",
       "      <td>14</td>\n",
       "      <td>108</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>650</td>\n",
       "      <td>2.788093</td>\n",
       "      <td>12</td>\n",
       "      <td>96</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>562</td>\n",
       "      <td>2.642622</td>\n",
       "      <td>11</td>\n",
       "      <td>74</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   wage    lhwage  educ   IQ\n",
       "0   769  2.956212    12   93\n",
       "1   808  2.782539    18  119\n",
       "2   825  3.026504    14  108\n",
       "3   650  2.788093    12   96\n",
       "4   562  2.642622    11   74"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wage = pd.read_csv(\"./data/wage.csv\")[[\"wage\", \"lhwage\", \"educ\", \"IQ\"]]\n",
    "\n",
    "wage.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we run a regression model to figure out how education is associated with log hourly wages, we get the following result."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th> <td>    2.2954</td> <td>    0.089</td> <td>   25.754</td> <td> 0.000</td> <td>    2.121</td> <td>    2.470</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>educ</th>      <td>    0.0529</td> <td>    0.007</td> <td>    8.107</td> <td> 0.000</td> <td>    0.040</td> <td>    0.066</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_1 = smf.ols('lhwage ~ educ', data=wage).fit()\n",
    "model_1.summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, let's pretend for a moment that this data was under some confidentiality constraint. The provider of it was not able to give individualised data. So we ask him instead to group everyone by years of education and give us only the mean log hourly wage and the number of individuals in each group. This leaves us with only 10 data points."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>educ</th>\n",
       "      <th>lhwage</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>9</td>\n",
       "      <td>2.856475</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10</td>\n",
       "      <td>2.786911</td>\n",
       "      <td>35</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>11</td>\n",
       "      <td>2.855997</td>\n",
       "      <td>43</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12</td>\n",
       "      <td>2.922168</td>\n",
       "      <td>393</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>13</td>\n",
       "      <td>3.021182</td>\n",
       "      <td>85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>14</td>\n",
       "      <td>3.042352</td>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>15</td>\n",
       "      <td>3.090766</td>\n",
       "      <td>45</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>16</td>\n",
       "      <td>3.176184</td>\n",
       "      <td>150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>17</td>\n",
       "      <td>3.246566</td>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>18</td>\n",
       "      <td>3.144257</td>\n",
       "      <td>57</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   educ    lhwage  count\n",
       "0     9  2.856475     10\n",
       "1    10  2.786911     35\n",
       "2    11  2.855997     43\n",
       "3    12  2.922168    393\n",
       "4    13  3.021182     85\n",
       "5    14  3.042352     77\n",
       "6    15  3.090766     45\n",
       "7    16  3.176184    150\n",
       "8    17  3.246566     40\n",
       "9    18  3.144257     57"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "group_wage = (wage\n",
    "              .assign(count=1)\n",
    "              .groupby(\"educ\")\n",
    "              .agg({\"lhwage\":\"mean\", \"count\":\"count\"})\n",
    "              .reset_index())\n",
    "\n",
    "group_wage"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Fear not! Regression doesn't need big data to work! What we can do is provide weights to our linear regression model. This way, it will consider groups with higher sample size more than the small groups. Notice how I've replaced the `smf.ols` with `smf.wls`, for weighted least squares. It's hard to notice, but it will make all the difference."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th> <td>    2.2954</td> <td>    0.078</td> <td>   29.327</td> <td> 0.000</td> <td>    2.115</td> <td>    2.476</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>educ</th>      <td>    0.0529</td> <td>    0.006</td> <td>    9.231</td> <td> 0.000</td> <td>    0.040</td> <td>    0.066</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_2 = smf.wls('lhwage ~ educ', data=group_wage, weights=group_wage[\"count\"]).fit()\n",
    "model_2.summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice how the parameter estimate of `educ` in the grouped model is very close to the one in the ungrouped data (actually, they are the same in this case). Also, even with only 10 data points, we've managed to get a statistically significant coefficient. That's because, although we have fewer points, grouping also lowers the variance by a lot. Also notice how the standard error is a bit smaller and the t statistics is a bit larger. That's because some information about the variance is lost, so we have to be more conservative. Once we group the data, we don't know how large the variance is within each group. Compare the results above with what we would have with the non weighted model below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th> <td>    2.3650</td> <td>    0.082</td> <td>   28.988</td> <td> 0.000</td> <td>    2.177</td> <td>    2.553</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>educ</th>      <td>    0.0481</td> <td>    0.006</td> <td>    8.136</td> <td> 0.000</td> <td>    0.034</td> <td>    0.062</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_3 = smf.ols('lhwage ~ educ', data=group_wage).fit()\n",
    "model_3.summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The parameter estimate is smaller. What is happening here is that the regression is placing equal weight for all points. If we plot the model along the grouped points, we see that the non weighted model is giving more importance to  small points in the lower left than it should. As a consequence, the line has a lower slope."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(x=\"educ\", y = \"lhwage\", size=\"count\", legend=False, data=group_wage, sizes=(40, 400))\n",
    "plt.plot(wage[\"educ\"], model_2.predict(wage[\"educ\"]), c=\"C1\", label = \"Weighted\")\n",
    "plt.plot(wage[\"educ\"], model_3.predict(wage[\"educ\"]), c=\"C2\", label = \"Non Weighted\")\n",
    "plt.xlabel(\"Years of Education\")\n",
    "plt.ylabel(\"Log Hourly Wage\")\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The bottom line is that regression is this marvellous tool that works both with individual or aggregated data, but you have to use weights in this last case. To use weighted regression you need mean statistics. Not sums, not standard deviations, not medians, but means! For both the covariates and the dependent variable. Just keep in mind that the result of weighted regression with grouped data won't match exactly that of regression in ungrouped data, but it will be pretty similar. \n",
    "\n",
    "![img](./data/img/dummy/heterosk.png)\n",
    "\n",
    "I'll finish with a final example using additional covariates in a grouped data model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of observations: 10.0\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th> <td>    1.8821</td> <td>    0.324</td> <td>    5.800</td> <td> 0.001</td> <td>    1.115</td> <td>    2.649</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>educ</th>      <td>    0.0257</td> <td>    0.021</td> <td>    1.198</td> <td> 0.270</td> <td>   -0.025</td> <td>    0.077</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>IQ</th>        <td>    0.0077</td> <td>    0.006</td> <td>    1.309</td> <td> 0.232</td> <td>   -0.006</td> <td>    0.022</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "group_wage = (wage\n",
    "              .assign(count=1)\n",
    "              .groupby(\"educ\")\n",
    "              .agg({\"lhwage\":\"mean\", \"IQ\":\"mean\", \"count\":\"count\"})\n",
    "              .reset_index())\n",
    "\n",
    "model_4 = smf.wls('lhwage ~ educ + IQ', data=group_wage, weights=group_wage[\"count\"]).fit()\n",
    "print(\"Number of observations:\", model_4.nobs)\n",
    "model_4.summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this example, we've included IQ as a feature, besides the previously added years of education. The mechanics is pretty much the same: get the means and count, regress the mean and use the count as weights. \n",
    "\n",
    "## Regression for Dummies\n",
    "\n",
    "Dummy variables are categorical variables we've encoded as binary columns. For example, suppose you have a gender variable that you wish to include in your model. This variable is encoded into 3 categories: male, female and other genders. \n",
    "\n",
    "|gender|\n",
    "|------|\n",
    "|male  |\n",
    "|female|\n",
    "|female|\n",
    "|other |\n",
    "|male  |\n",
    "\n",
    "Since our model only accepts numerical values, we need to convert this category to a number. In linear regression, we use dummies for that. We encode each variable as a 0/1 column, denoting the presence of a category. We also leave one of the categories out as the base category. This is necessary since the last category is a linear combination of the others. Put it differently, we can know the last category if someone gives us information on the others. In our example, if someone is neither female nor other genders, we can infer that the person's category is male.\n",
    "\n",
    "|gender|female|other|\n",
    "|------|:-----|:----|\n",
    "|male  |0|0|\n",
    "|female|1|0|\n",
    "|female|1|0|\n",
    "|other |0|1|\n",
    "|male  |0|0|\n",
    "\n",
    "We've already dealt with a simple form of dummy regression when dealing with A/B testing. More generally, when we are dealing with a binary treatment, we represent it as a dummy variable. In this case, **the regression coefficient for that dummy is the increment for the intercept in the regression line**, or the difference in means between the treated and untreated.\n",
    "\n",
    "To make this more concrete, consider the problem of estimating the effect of graduating 12th grade on hourly wage (and let's ignore confounding just for now). In the code below, we've created a treatment dummy variable `T` indicating if years of education is greater than 12. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hwage</th>\n",
       "      <th>IQ</th>\n",
       "      <th>T</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>19.225</td>\n",
       "      <td>93</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>16.160</td>\n",
       "      <td>119</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20.625</td>\n",
       "      <td>108</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>16.250</td>\n",
       "      <td>96</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>14.050</td>\n",
       "      <td>74</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    hwage   IQ  T\n",
       "0  19.225   93  0\n",
       "1  16.160  119  1\n",
       "2  20.625  108  1\n",
       "3  16.250   96  0\n",
       "4  14.050   74  0"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wage = (pd.read_csv(\"./data/wage.csv\")\n",
    "        .assign(hwage=lambda d: d[\"wage\"] / d[\"hours\"])\n",
    "        .assign(T=lambda d: (d[\"educ\"] > 12).astype(int)))\n",
    "\n",
    "wage[[\"hwage\", \"IQ\", \"T\"]].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The dummy works as a kind of switch. In our example, if the dummy is on, the predicted value is the intercept plus the dummy coefficient. If the dummy is off, the predicted value is just the intercept. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "      <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th> <td>   19.9405</td> <td>    0.436</td> <td>   45.685</td> <td> 0.000</td> <td>   19.084</td> <td>   20.797</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>T</th>         <td>    4.9044</td> <td>    0.626</td> <td>    7.830</td> <td> 0.000</td> <td>    3.675</td> <td>    6.134</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "smf.ols('hwage ~ T', data=wage).fit().summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this case, when the person hasn't completed 12th grade (dummy off), the average income is 19.9. When he or she has completed 12th grade (dummy on), the predicted value or the average income is 24.8449 (19.9405 + 4.9044). Hence, the dummy coefficient captures the difference in means, which is 4.9044 in our case.\n",
    "\n",
    "More formally, when the independent variable is binary, as is often the case with treatment indicators, regression captures the ATE perfectly. That is because regression is a linear approximation to the conditional expectation function (CEF) $E[Y|X]$ and, in this particular case, the CEF IS linear. Namely, we can define $E[Y_i|T_i=0]=\\alpha$ and $E[Y_i|T_i=1] = \\alpha + \\beta$, which leads to the following CEF\n",
    "\n",
    "$\n",
    "E[Y_i|T_i] =  E[Y_i|T_i=0] + \\beta T_i = \\alpha + \\beta T_i\n",
    "$\n",
    "\n",
    "and $\\beta$ is the difference in means or the ATE in the case of random data\n",
    "\n",
    "$\n",
    "\\beta = [Y_i|T_i=1] - [Y_i|T_i=0]\n",
    "$\n",
    "\n",
    "If we use additional variables, the dummy coefficient becomes the **conditional** difference in means. For instance, let's say we add IQ to the previous model. Now, the dummy coefficient tells us how much increase we should expect from graduating 12th grade **while holding IQ fixed**. If we plot the prediction, we will see two parallel lines. The jump from one line to the next says the amount we should expect for completing 12th grade. They also say that the effect is constant. No matter your IQ, everyone benefits the same from graduating 12th grade. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "m = smf.ols('hwage ~ T+IQ', data=wage).fit()\n",
    "plt_df = wage.assign(y_hat = m.fittedvalues)\n",
    "\n",
    "plt.plot(plt_df.query(\"T==1\")[\"IQ\"], plt_df.query(\"T==1\")[\"y_hat\"], c=\"C1\", label=\"T=1\")\n",
    "plt.plot(plt_df.query(\"T==0\")[\"IQ\"], plt_df.query(\"T==0\")[\"y_hat\"], c=\"C2\", label=\"T=0\")\n",
    "plt.title(f\"E[T=1|IQ] - E[T=0|IQ] = {round(m.params['T'], 2)}\")\n",
    "plt.ylabel(\"Wage\")\n",
    "plt.xlabel(\"IQ\")\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we put this model into an equation, we can see why:\n",
    "\n",
    "$\n",
    "wage_i = \\beta_0 + \\beta_1T_i + \\beta_2 IQ_i + e_i\n",
    "$\n",
    "\n",
    "Here, $\\beta_1$ is the conditional difference in means and it is a constant value, 3.16 in our case. We can make this model more flexible by adding an interaction term.\n",
    "\n",
    "$\n",
    "wage_i = \\beta_0 + \\beta_1T_i + \\beta_2 IQ_i + \\beta_3 IQ_i * T_i  + e_i\n",
    "$\n",
    "\n",
    "Things are getting a little bit more complex, so let's see what each parameter means in this model. First, the intercept $\\beta_0$. This bad boy doesn't have a particularly interesting interpretation. It's the expected wage when the treatment is zero (the person hasn't graduated from 12th grade) AND the IQ is zero. Since we don't expect IQ to be zero for anyone this parameter is not very meaningful. As for $\\beta_1$, we have a similar situation. This parameter is how much increase in wage we should expect from completing 12th grade **when IQ is zero**. Once again, since IQ is never zero, it doesn't have a particularly interesting meaning. Now, $\\beta_2$ is a bit more interesting. It tells us how much IQ increases wages **for the non-treated**. So, in our case, it is something like 0.11. This means that for each 1 extra IQ point, the person that has not completed 12th grade should expect to gain an extra 11 cents per hour. Finally, the most interesting parameter is $\\beta_3$. It tells us how much IQ increases the effect of graduating 12th grade. In our case, this parameter is 0.024, which means that for each extra IQ point, graduating 12th grade gives 2 extra cents. This might not seem much, but compare someone with 60IQ and with 140IQ. The first one will get an increase of 1.44 in wage (60 * 0.024), while the person with 140 IQ will gain an extra 3.36 dollars (140 * 0.024) when graduating from 12th grade.\n",
    "\n",
    "In simple modeling jargon, this interaction term allows the treatment effect to change by levels of the features (only IQ, in this example). The result is that if we plot the prediction lines, we will see that they are no longer parallel and that those that graduate 12th grade (T=1) have a higher slope on IQ, higher IQ benefit more from graduating than lower IQ. This is sometimes referenced as effect modification or heterogeneous treatment effect. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAE0CAYAAABTplZXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABSiklEQVR4nO3dd1gU5/YH8O/2XYosIsUCWEBRg11Bo4ktXpXYrg3j9aoRC9ZoiIi9EJSEiIkFK4lGMRqDBTV447WBiqjBEivG3gALbWH7/P7w5+ZugN0F2X4+z+PzuDNnZs+8wJ6dmXfel5Wfn8+AEEIIsRNscydACCGEmBIVPkIIIXaFCh8hhBC7QoWPEEKIXaHCRwghxK5Q4SOEEGJXqPARQgixK1T4bNzy5cshFos1/6ZNm2bulKosJCQEgYGBJnu/9u3ba7Xdjh07TPbehtixY4dWfgMGDDB3SlUWHh4OsVhssvcbPHiwVtstX77cZO9NzI8Kn5X53z/Wiv6lpaWV2W7EiBGIjIxEnz59AJT90DTkX3Xatm0bPvvsM/To0QO1a9eGWCzG4sWLq7Svtx+aFRWmgoICfPPNN+jZsyfq168PDw8PNG3aFKNGjcKvv/5a4X7Hjx+PyMhIvP/++1XKq7ICAwP1/gzKO8a+ffsiMjISoaGhAIC0tLRK/2wfPHhQrcfy5MkTTJ06FQEBAfDw8EBgYCDmzJmD/Pz8Su3n7Re3igqTVCrFhg0b8PHHH6NRo0Zwd3dH48aNMXToUOzatQtqtbrc7YYNG4bIyEj07du3sodmdLdu3cKYMWPg5+cHT09PtGvXDjExMSgtLa3S/i5duoSwsDA0a9YMHh4e8Pf3R9++fbFz584ysQqFAmvWrEGXLl1Qp04d1K1bFz169MC2bdvAMLYz1gnX3AmQqomMjKxwnY+PT5lln3zyCbp06aJ5HRgYWGYfBQUFWL9+PWrUqIHw8PDqS7Yc8+fPR2FhIcRiMby8vHDv3j2jvE9GRgZGjRqFvLw8+Pn5YfDgwXBxccGDBw/w22+/ISUlBSEhIdi0aRMcHBy0tp0wYQKANx++p0+fNkp+5Zk0aRJcXFzKXVfeGW9ISAhGjhypee3j41Pu70dsbCyA8n93Knq/qrh//z569eqF3Nxc9O3bF40bN8bFixexfv16/Pe//8WRI0dQs2bNd36fW7duYcSIEbh79y7q1q2LkJAQ1KpVC8+ePcNvv/2G3377DYmJidixYwdq1aqlte3w4cMBvPkCePjw4XfOpbpcvHgR/fv3h1wux4ABA1C3bl2cOnUKX331FU6dOoX9+/dDIBAYvL+NGzdizpw5EIvF6NWrF+rUqYPXr1/jxo0b+O233zBixAhNrFwux5AhQ3Dq1CnUq1cPw4cPB5fLxbFjxzB9+nRkZmZizZo1xjhsk6PCZ6WioqLeafsWLVqgRYsWWssePHiA9evXw8XF5Z33r09iYiIaN24MHx8f7NixA1OmTKn297h9+zaGDh2K4uJiREdHY/LkyWCz/7rI8fLlS4wbNw6HDh3ChAkTsH379mrPoSrCw8Ph6+tb5e19fX3L/fm9LXzG/tnOmjULubm5iI2NxcSJEzXL586di3Xr1mHZsmWIj49/p/fIy8vDoEGD8PTpU0ydOhULFy4En8/XrJdIJJg5cyZ2796N0NBQHD58WGu9JVKpVJg8eTIkEgmSkpI0Z6NqtRpjxozBgQMHsG7dOsycOdOg/R07dgyRkZHo1q0btm7dCmdnZ631CoVC6/XmzZtx6tQptGvXDvv27YOTkxMAQCaTYcSIEdi+fTt69+6Njz/+uBqO1rzoUicxi549e5Z7ZlqdZs+ejaKiIkybNg1Tp07VKnoA4Obmhu3bt8PHxwcHDx7EoUOHjJqPPbh37x6OHTsGHx8fjB8/XmtdVFQUHB0dsWvXLkgkknd6n2XLluHp06cYOHAgoqOjyxQ1R0dHJCQkoF27drhw4QK2bNnyTu9nCunp6bh16xY6deqkdQmWzWZj6dKlAN58YTT0kuOCBQsgEomwefPmMkUPAHg8ntbrlJQUAEBERISm6AGAQCDA/PnzAbw5g7QFVPiITbp//z5OnDgBgUCg8xuyk5OTpsNPYmKiqdKzWW/vL3fv3r3MFw1nZ2cEBQWhpKQEFy5cqPJ7lJaWYvfu3QCAOXPmVBjH4XDwxRdfALCOn+3btuvZs2eZdfXr14efnx8ePXqE+/fv693X9evXce3aNXTr1g2urq44efIkVq9ejdWrV+PkyZPl3vvMzc3VvNffNWjQAABw9uzZMmeK1ogudVopXb3QjH0pa926dSgoKDA43sfHR+selClkZGQAAFq1agVXV1edsd26ddNso1ary3xgm1pCQkKF99yM3ftxx44dePjwocHxLi4umDx5suZ1dnY2AKBRo0blxjdq1AjHjh3DnTt38OGHH1Ypx6ysLEilUtSuXRsBAQE6Y7t06QIOh4Ps7Gzk5ubCw8OjSu/51oMHD5CUlFSpbUJCQsrcViiPIW13584d3LlzR1OIKvL7778DANzd3dG3b1+cPXtWa32zZs2wfft2NGzYULPMzc0Nf/75Jx48eFCmXd/eg1coFLh37x4aN26s93gsGRU+K/X2fk15jF34EhIS8OjRI4Pj33//fZMXvpycHABA3bp19ca+jZFIJCgoKNBbKI1t/fr1Fa775JNPjFr4kpKSKtWRx9vbW6vwFRYWAqi4s0yNGjUAoFJfnP6uMj9bBwcH1KxZE3l5eXj69Ok7F76HDx/q/Nsrj4+Pj0GFrzrb7sWLFwCAH3/8EbVr18bu3bsRHByMvLw8xMbGYvfu3Rg2bBjOnDmjuUzcu3dvZGZmIi4uDp07d4ajoyOAN51eYmJiNPuubM9cS0SFz0qZ85fv6tWrZntvY5NKpe+0fVpaGtLT07WWVfaM9/Lly+/UueVd2PJ9TplM9s776NKli1V88L+9lKlSqZCYmIgOHToAeFM8N2zYgOzsbGRlZeHAgQMYMmQIgDe9iVNSUnD+/HkEBwejV69eYLPZOH78OF68eIF69erh8ePHZr8iUh2o8BGb5OnpCeDN82T6vI3hcDjv3M0+PT29zBmBOc54zUXfWYm+sxpDVOZnW1JSglevXgF4c9nPklVn272N8fT01BS9t1gsFvr27YusrCxcvHhRU/gcHBxw6NAhrFq1Cvv27cP27dshFArRpUsXLFq0CP/+978BWH47GoIKH6k0a7jHFxwcDODNw7v5+fk6Lw+eOHECANC0adNKPSNVnqioKKNfajamd73H5+/vDwD4888/y41/u9zPz6/KObZu3RpCoRDPnj3DzZs3dd7nS09Ph0qlglgsLrfTRmUZ8x5fdbbd25iKiuTbv4e/X+FwcHDA3LlzMXfuXK3lpaWl+PPPP1GrVi2zXY2oTlT4SKVZwz2++vXro2vXrjhx4gRWrVpV4agwEolE81Du0KFDTZihZXrXe3xvB0k4duxYmY5CRUVFOHfuHBwcHNCuXbsq5ygSiTBs2DBs27YNX331VYU9NtVqNeLi4gC8GaKsOi7RGfMeX5cuXRAXF4ejR49i1qxZWuvu37+PO3fuwNvb26AC3r59ezg6OuLhw4eQSCSa+3Vv3bhxAwAMLmJ79uyBXC63mb8RKnyk0qzlHl9sbCx69uyJ7777Dp6enpg0aRJYLJZm/atXrxAWFob79+8jICAAYWFhZszWMrzrPb4GDRqge/fuOHbsGDZt2qT1APvy5cshkUgwduzYMh/ElTV//nwcPXoUycnJ8PHxwbx587SeS5NIJPj888+RmZkJLy8vzWMN78qY9/g6d+6MJk2a4MyZMzh8+LDWA+yLFi0CAHz66adav8Nve1kC0Opp6eDggH/961/YsGEDoqOjERMTo9nu2rVrSEpKApfLLTO+a0FBQZmzxKysLCxcuBC1atUy+OF5S0eFz0rpepyhZ8+eaN++vQmzqbxt27Zpuli//cP9z3/+o+mx5+bmhujo6Hd6jyZNmmD37t0YNWoUoqKikJiYiK5du8LZ2RmPHj3CkSNHUFhYiDp16mDXrl3v/GFcXXQ9ztC+fftyn/OyJN988w169eqFyMhInDx5Ek2aNMGFCxeQlpYGPz8/LFiw4J3fw8PDA3v37kVoaChWrVqFPXv2oEePHlpDluXl5aFGjRrYuXMnvLy8quHIjIvD4WDt2rXo378/Ro8ejQEDBqBevXo4efIksrKyEBwcrHV2DQBPnz7V3MP7e0GeN28ezpw5g4SEBJw/fx5BQUHIy8tDSkoKpFIpli9fXuaxiKCgIDRr1gx+fn5wcHDAjRs3cPToUTg7OyMpKemde8VaCip8VkrX5RYXFxeLL3xnz54tM0ju9evXcf36dQBvLqG9a+EDgI4dO+LChQvYtGkTUlNTsWvXLk0nAQAYM2YMli5dqulYYAl0Pc4wadIkiy98DRo0wIkTJxATE4OjR4/it99+05xxvx03sjq8PTvaunUrDhw4gAMHDiA/P18zsknfvn2xatUqq/qwbteuHY4dO4YVK1bg+PHjKCoqgre3N2bPno2ZM2dW6h50jRo18OuvvyI+Ph779u3Dpk2bIBQKERwcjGnTpqF79+5lthk2bBiOHj2K8+fPQy6Xo169epgwYQI+++wzTaciW0CFz8oYsyu1r6+vybpqJyQkICEhwST7EovF+OKLL7Qud23YsAGRkZG4c+dOmaGbzMXYl5BN2Q2/bt26WLt27TvvR19nIZFIhEmTJmHSpEmaZYcOHcKoUaNw7949cDicd87B1AICAvDDDz8YFKvvb9bJyQkLFiww+Cx76dKlmuHRbJn1P5BBDNKvXz+rn4+vOk2cOBHh4eFIT0/HyJEjy33G6+18fJXtzGBqU6ZMsfr5+KpTSEgIvvzyS9y4cQMDBw4stzC8nY/PGIOjE8tHZ3w2rnPnzlqvW7ZsaaZMLM+XX36JevXqobCwEBcvXkSnTp201o8fPx4vX77UvDblJLiG+PvUUtXRXd9WhIeHw9HREU+ePMHZs2c181C+NWzYMK2epX//OyG2jZWfn287swsSmxYSEoKHDx9aTa9SYrjw8HDs3LnTKkZFIdaPzviI1fjkk0/eaYxHYrlCQkKMPk0VIW/RGR8hhBC7Qp1bCCGE2BUqfDbo7bxepHzUPrpR++hG7aObNbQPFT5CCCF2hQofIYQQu2LWwrdp0yZ06tQJ3t7e8Pb2xkcffYQjR45o1jMMg+XLlyMgIABeXl4ICQnRjCquy/79+xEUFAQPDw8EBQUhJSXFmIdBCCHEipi18NWpUwdLlizByZMncfz4cXzwwQcYOXIk/vjjDwDAt99+i7Vr1yI2NhbHjh2Du7s7Bg0ahKKiogr3mZmZiU8//RRDhw5FWloahg4dijFjxuDChQumOixCCCEWzOIeZ6hfvz4WLVqEMWPGICAgAOPHj0dERASAN5Mh+vv7Y9myZRg7dmy5248dOxavX7/Gvn37NMsGDBiAWrVqYcuWLZXOR6lUQiKRVOlYzKWwsNDsgy47OjqCy7XMx0Szs7M1k36Ssqh9dKP20c0a2sdiPplUKhX27dsHiUSCDh064MGDB8jJydEaQVwkEqFTp044d+5chYXv/PnzmDBhgtayHj16YOPGjZXOSalUoqioCGKxWGsOLEsnEAggFArN9v4MwyA/Px/Ozs4WW/wIIRaqKB+c+9lQe9UD417bKG9h9k+la9euoVevXpBKpXB0dMT27dvRvHlznDt3DgDg7u6uFe/u7o5nz55VuL+cnJxyt8nNzdWZR3ldcPl8Pjw8PModwNjSSaVSs76/UCjEkydPIJfLzZpHRayhy7U5UfvoRu2jW1XahyMtQdOE+eBJ3tzKYlhs3PnkMxQ3aFqlHHSddZq98Pn7+yMtLQ2FhYXYv38/wsPDcfDgQbPk8XcFBQUQiUQmz+VdSaVSs57xvSUWiyucUNWcrOFSjDlR++hG7aNbpdtHqYTwm9ngXv9dazGLUaP+wxuQ9epfzRlaQOHj8/lo2LAhAKBVq1b4/fffsW7dOs19vby8PHh7e2vi8/LydE4s6enpiby8PK1l+rYhhBBiYgwD/vbvwD+6t8IQVaOqne3pY3HP8anVasjlcvj6+sLT0xPHjx/XrJNKpTh79iyCgoIq3L59+/Za2wDA8ePHdW5DCCHEdLj/3Q+nMd10Fz2/96Ds2s8472+UvRpo8eLF6NWrF+rWrYvi4mLs2bMH6enp2L17N1gsFsLDw7Fy5Ur4+/vDz88PcXFxcHR0xJAhQzT76N+/P9q2bYtFixYBACZNmoS+ffsiPj4eISEhOHjwINLS0pCammquwySEEAKAczUTorjZeuMksT+C8fLWG1dVZi18OTk5mDBhAnJzc1GjRg00b94ce/bsQY8ePQAAM2bMQGlpKb744gvk5+ejbdu2SE5OhrOzs2Yf9+7dQ926dTWvg4KCkJiYiOjoaMTExKBBgwZITEzUmnTSlonFYp3rR4wYgYSEhErtUyqVYubMmbh8+TJu376NoKAgHDp06B2yJITYE/bju3CY96neuJKoVVAHtDJ6Phb3HJ8lKSgosMjOGbrk5ORAJpNBIBDgyJEjmD59Om7duqVZLxQKK31MEokE8+fPR8uWLfGf//wHBQUFBhU+S20/6pygG7WPbtQ+uv1v+7AKXsFh5lCwVCqd20jDIqHs0scU6QGwgM4tpHp5enpqenW+LTqenp7vtE9HR0fEx8cDePP4CU0GSwjRSS6DaNkUcB7e0R0WMgLyYRNNlNRfqPBVgdPoriZ9v+KtJ6p9n8HBwXj06FGF6729vZGRkVHt70sIsWFqNXz3bYHTH7o/O5StOkI6Ixpgc0yUmDYqfHZq9+7dUCqVFa6nEVcIIZXBS9kBwZ5NOmPUtbxQEp0IiBxMlFX56NPNTvn4+Jg7BUKIDeCcPwnRmkV64yQrd4Fxe7fbLtWFCp+dokudhJB3wb57Ew5LJumNK1m0HuqGASbIyHBU+KrAGPfcTI0udRJCqoL1MgeOs4brjSudugSq9h+aIKPKo083O1XZS503b96EXC7Hy5cvIZFIcOXKFQBAixYtjJEeIcTSlJbAYf6nYL94rjPsabd/osaY6SZKqmqo8BGDDB06VOvS6AcffAAAyM/PN1NGhBCTUCkh/HY+uJd13/pQvP8PyMbPQc6dOzDvbKD6UeGzYQMGDKi2wnT16tVq2Q8hxHrwd20A//BOnTEq38Yonb8a4AtMlNW7o8JHCCFEC/fUrxBuidUZw3B5KInfDaaGq4myqj5U+AghhAAAODeyIFoxU29cyZffQ12vgQkyMg4qfIQQYudYzx/BMXKU3rjSiK+hCmxvgoyMiwofIYTYq+ICOEZ8AlapRGeY9N8zoewxwERJGR8VPkIIsTcKOUQrZoFz5w+dYfKPBkM+cirAYpkoMdOgwkcIIfaCYSD4/hvwTh7UGaZs1gbSz78CbHQgC9s8KkIIIVp4R36GIGmtzhi1iytKlm8DHJ11xlk7KnyEEGLDOJfOQBQ/V2+c5OskMB51TJCR+VHhI4QQG8R+eAcOC8L0xpXMWw1140ATZGQ5qPARQogNYb1+AcfPhuiNk06cB2Wnj0yQkeVhmzsBUr3EYjG8vLwgFovL/RceHl6l/V67dg19+/aFl5cXmjZtitjYWDAMU83ZE0KqTCaFQ9RovUVPPmA0ireesNuiB9AZn825desWZDIZBAIBjhw5gunTp+PWrVua9UKhsNL7LCwsxKBBg9CpUyccO3YM2dnZmDJlChwcHDBt2rTqTJ8QUllqNYTrloB7/qTOMGX7DyGdvAhg0/kOFT4b4+npCalUCqFQCBcXF82yd/Hzzz+jtLQUCQkJEIlEaNasGW7fvo1169Zh6tSpYNnYMz6EWAve3h8g2PeDzhh1bR+ULNkACESmScoKUOGrAsmx3iZ9P8fuqdW+z8rMwJ6ZmYmOHTtCJPrrD6dHjx748ssv8eDBA9SvX7/a8yOEVIx79r8Qrl+mN04S/zOYmu4myMi6UOGzU5WZgT03Nxd16mh3c3Z3d9eso8JHiGmws/+AQ/RUvXElSzdB7etvgoysk9kK38qVK5GSkoI7d+6Az+ejXbt2WLRoEZo1a6aJEYvF5W4bFhaGuLi4ctc9ePAALVu2LLN8z5496NmzZ7XkbgsqOwM7IcR8WHnP4BgxQm9c6WcxULXuZIKMrJvZCl96ejrGjRuHNm3agGEYxMTEYODAgTh37hxcXd/M7/S/nTIAICsrC6GhoRg4cKDe/f/yyy947733NK/f7pO8UZlLnR4eHsjLy9Na//a1h4eH8ZIkxN5JiuAQNRrsglc6w2QjpkDRe6iJkrJ+Zit8ycnJWq83bNgAHx8fZGRkoE+fPgDKdso4fPgw/Pz80LlzZ737r1mz5jt36qiIMe65mVplLnV26NABixcv1nSaAYDjx4+jdu3a8PX1NXquhNgdpRLClZHgXruoM0zxYQhkYyNsbhBpY7OYe3zFxcVQq9UVXt4sLi5GcnIyIiMjDdrfqFGjIJVK0ahRI0yePBkDBtjOlBrVoTKXOocMGYLY2FhMnjwZERERuHPnDlatWoXZs2dTj05CqhPDgL9jDfi//aIzTOXXHKVz4gEe30SJ2RaLKXxz5sxBYGAgOnToUO76PXv2QC6XY8QI3de5nZycsGzZMgQHB4PL5eLw4cMYO3YsEhISMHz4cGOkbvNcXFywd+9eREREoFu3bhCLxZgyZQqmTtV/k50QYhjusf0Qbo3XGcMIHSCJSwKcxaZJykax8vPzzT78xty5c5GcnIzU1NQKewh269YNvr6++OGHHyq9/88//xxnz57FmTNnKozJzs4us0woFGp6L5LKy8vLg1QqNXcahFg057vX4Zeku+ABwPXwZZC5eZkgI9vg719xr1azn/FFRUUhOTkZKSkpFRa9K1euICsrCwsXLqzSe7Rt2xY7duzQGVNeIxUUFFRppBNz+997ceZUo0YNeHt7mzuNMrKzs3X+Udg7ah/dqqt9WE/uw3HuGL1xpXPioWraGtbSD9safn/MWvgiIyOxd+9epKSkoHHjxhXGbd26Fb6+vujatWuV3ufq1atG6+hCCCGVwSp8DYdZw8BSKHTGST/9AsoPQ0yUlX0xW+GLiIjArl27sH37dojFYuTk5AAAHB0d4eTkpIkrKSnBzz//jOnTp5fbkWLJkiW4ePEiDhw4AABISkoCj8dDixYtwGazkZqais2bN2Px4sUmOS5CCCmXXAbRl9PAuX9bd1jfUMiHTzJRUvbJbIVv8+bNAFCmt2VkZCSioqI0r5OTkyGRSDBy5Mhy9/P8+XPcu3dPa1lcXBwePXoEDoeDRo0aYc2aNdSxhRBiHgwDwaYV4J0+ojNM2TIY0hnRAMfsd6BsnkV0brFUBQUFmoGerYml3OOz1PazhnsQ5kTto1tl2od3aCcEuzfojFG7eaLky0RA5Fgd6ZmdNfz+0FcLPRiGoWfVqoDm6iP2jHMhDaLVC/TGSb75CUwt6qlpalT4dHB0dER+fj7EYjEVv0pgGAb5+flwdnY2dyqEmBT73k04LNZ/f65kYQLUjZqaICNSHip8OnC5XDg7O6OwsNDcqVRKYWEhatSoYdYcnJ2dtYY9I8SWsV7mwnHWML1xpVMWQ9Whq/ETIjrRJ5MeXC7XIu9T6ZKbm2uRz88RYnNKS+CwIAzsvKc6w2RDwqDo9y8TJUX0ocJHCCGVpVZB+N1CcLNO6wxTdOwJ2YS5AJttosSIIajwEUJIJdQ+lgyn6F91xqh8/FC6YC3AF5goK1IZVPgIIcQA3PRUCDetgJOOGIbDQUn8z2BcaposL1J5VPgIIUQH9s1LcFj+md64kuhEqL0bGj8h8s6o8BFCSDnYd67BYdkUvXGln8dC1SLIBBmR6kKFjxBC/gfrVR4cZw7VGycbNQOKnoNMkBGpblT4CCEEAOQyOI3/h96wvHbdIJq6EKBBLawWFT5CiH1jGDjMHAr26xc6w5QBrSD9Ig6P792DPxU9q0aFjxBitwTro8E7e1RvnGT1XjA1XE2QETEFKnyEELvDO/IzBElr9caVLFoPdcMAE2RETIkKHyHEbnCunoco7gu9cdKJ86Ds9JEJMiLmQIWPEGLzWM8fwzFS/1iZ8j7DIQ8NN0FGxJyo8BFCbFdJMZzCP9YbpvJ7D6UL1pggIWIJqPARQmyPWgXHTz8Ci1HrDS1OPApw6KPQntBPmxBiU4Sxs8C9/rveuOJ1KYAjTZZsj6jwEUJsAv+XLeAf+FFvnGT5VjB1fE2QEbFUVPgIIVaNk3kCorWL9caVzlwOVauOxk+IWDwqfIQQq8R+kA2HheP1xsmGTYAi5BMTZESsBRU+QohVYRW+huM0/YNDK9t9AOm0pSbIiFgbKnyEEOugVMBpnP6HyhmnGpCs2U+DSJMKsc31xitXrkS3bt3g7e2NRo0aYfjw4bh+/bpWTHh4OMRisda/nj176t13eno6PvzwQ3h6eqJly5ZITEw01mEQQoyNYSCKGmNQ0Sve+Cskaw9Q0SM6me2MLz09HePGjUObNm3AMAxiYmIwcOBAnDt3Dq6ufw0G27VrV2zYsEHzms/n69zv/fv3MWzYMIwcORIbN25ERkYGPv/8c7i5uWHAgAFGOx5CSPUT/PANeMdT9MZJvvkJTC0vE2REbIHZCl9ycrLW6w0bNsDHxwcZGRno06ePZrlAIICnp6fB+/3+++/h5eWFr7/+GgDQpEkTXLhwAWvWrKHCR4iV4B5PgfCHb/TGlcz7DurGLUyQEbElFnOPr7i4GGq1GmKxWGv52bNn4efnBxcXF7z//vtYsGAB3N3dK9xPZmYmunfvrrWsR48e2LlzJxQKBXg8njHSJ4RUA/atK3CIma43Tjo2Asqu+ociI6Q8FlP45syZg8DAQHTo0EGzrGfPnujXrx98fX3x8OFDREdHo3///jhx4gQEAkG5+8nNzUXXrl21lrm7u0OpVOLly5fw8qLLIYRYGtaL53D8PFRvnKJbf8jGzDJBRsSWWUThmzt3LjIyMpCamgoOh6NZPnjwYM3/mzdvjlatWiEwMBBHjhxB//79qzWH7Ozsat2fudna8VQ3ah/dTNU+bLkMLb+aqjeu1KMubo5f9KbTigX87Oj3RzdLaB9/f/8K15m98EVFRSE5ORkpKSmoX7++ztjatWujTp06uHv3boUxHh4eyMvL01qWl5cHLpcLNze3CrfT1UjWJjs726aOp7pR++hmkvZRq+E4pT9YJcV6Q4u3/AZwebCUnxj9/uhmDe1j1sIXGRmJvXv3IiUlBY0bN9Yb//LlSzx79kxnZ5cOHTrg4MGDWsuOHz+O1q1b0/09QiyA8LsF4F5M0xsnWb0XTA1XvXGEVJbZnuOLiIhAUlISNm3aBLFYjJycHOTk5KC4+M03wOLiYsyfPx+ZmZl48OAB0tLSEBoaCnd3d3z88V83tSdOnIiJEydqXo8dOxbPnj3DnDlzcOvWLWzbtg1JSUmYOlX/5RRCiPHwDu6A0+iueoteydJNKN56gooeMRqznfFt3rwZAMo8YhAZGYmoqChwOBxcv34dP/30EwoKCuDp6YkuXbrg+++/h7PzX1OJPH78WGv7+vXrY/fu3Zg7dy4SExPh5eWF2NhYepSBEDPhXDoLUXyU3rjSqYuhat/V+AkRu2e2wpefn69zvUgkKvOsX3kOHTpUZlnnzp1x6tSpqqZGCKkGrCf34Th3jN44ef9RkA8eZ/yECPl/Zu/cQgixMcWFcJqiv9e1snlbSGfrf0idkOpGhY8QUj1USjh9qn8sXYbDhWTzEYDN0RtLiDFQ4SOEvDPR0sng/Hldb1zx+kOAyNEEGRFSMSp8hJAq4+9cB37qbr1xktjtYLzqmSAjQvSjwkcIqTTu6f9AuDFGb1zp7DiomrczQUb2TVV0F/LsBLBFdcCt/RE44vfMnZJFo8JHCDEY+88bcFgarjdONnIqFL2GmCAj+6bMOQnZteWa1+r8q1A+PwpRp61gC2qZMTPLRoWPEKKfpAhOk/vpDVN0+giyifNMkJD9Yhg1FH9ugeLhLxUEqMBIHgNU+CpEhY8QUjGlAqKvIsC5dVlnmLqWJ0rifqKZz42IUUogvbIY6vyrOuPYTo3AdgkwTVJWigofIaQshgH/x2/B/+8+vaHFm44A/PKnCSPvTl3yGKWZUwC1TG8sS1QHwtaxYHGEJsjMelHhI4RoqXX+GJyix+uNk6zaA8aVLqcZi/LFOciuLDIoluPZDYKms8Bi00D8hqhS4Ttx4gTS0tKQl5eHqVOnonHjxiguLsbly5fRvHnzMrOoE0IsH+fyOYhWRsJJT1zJwnVQN2pmkpzsDcMwUNxPguLejwbF8/0nguc9yMhZ2Z5KFb7S0lL861//wvHjxzXLBg8ejMaNG4PP52P06NEYP348IiMjqz1RQohxsB/dhcP8T/XGlUStgjqglfETskOMSgbZtRioXpwzKF7YOhYc15ZGzsp2VarwLVu2DOnp6di4cSM6duyI997761kRPp+PgQMHIjU1lQofIVaAlf8SDp8NBYtR64yTjp8DZefeJsrKvqiluZBemAFG/lp/ME8MUbtvwRZVPB8pMUylCt++ffsQFhaGIUOG4NWrV2XW+/v745dfKuhiSwixDHIZREvCwXl8V3fYxyMhH6r/Xh+pPNXry5BmGXaCwHHrAMF7c6nDSjWqVOF7+fIlmjRpUuF6FosFqVT6zkkRQoxArYZgfTR4547pDMtv3BLcqJU0iLQRKB7tgzx7vUGxvAajwKv/CVj0iEi1q1Thq1evHm7dulXh+oyMDDRs2PCdkyKEVC/e/m0QJCfqjFG710HJss249/gJ/KnoVRtGrYTsxkqocnR/4XhL0GIxuLWCjZyVfatU4Rs6dCjWrFmDjz/+WHPm9/bbyJYtW7Bv3z4sXbq0+rMkhFQJ99xxCNct0RsnWbkbjJuHCTKyH4z8NUp/jwBT8kR/MJsHUft1YDt6Gz8xUrnCN2vWLFy8eBEff/wx/Pz8wGKxMGfOHLx69Qo5OTno3bs3Jk+ebKxcCSEGYv95HQ5L9f8tlixeD3UDGuWjOqkKb0F6YYZBsWyX9yBsuQQsLk3VZEqVKnx8Ph8///wzfv75Z+zbtw8sFgtKpRItW7bEoEGDMHz4cLoeTYgZsV48h+PnoXrjSqcthardBybIyH4onv0H8hsrDYrlev8TfL8wsFhsI2dFylOlB9iHDh2KoUOHVncuhJCqKpXAYe5YsF/l6gyTDZsIRcgIEyVl+xhGBfntBCifHDQoXtAsElyvbkbOiuhDQ5YRYs1USgjj54J7NVNnmKJzb8jCImkQ6WrCKIogvTQP6qLbBsUL268Fx7mRkbMihqpU4evXT/e0JCwWC0KhEHXq1EGXLl0wYMAAcLlUWwkxBv5PCeD/uktnjKpBE5TO/Y4Gka4m6uL7qPNoGkoe6Y9lOzWAsNUKsPguxk+MVEqlqpJarcazZ89w7949iMVi+Pj4AAAePnyI/Px8NGzYEDVq1MCFCxewdetWxMfHY//+/XBzczNK8oTYI+7JQxAmfq0zhuHxUbJyF5garibKyrYpc9Mg++NLg2K5tXuD32QaWPRIiMWqVOGbN28eRo4ciYSEBAwdOhQczpsfrEqlwq5duzB//nysX78e7dq1Q1JSEmbMmIElS5bgu+++M0ryhNgTzvXfIYqdpTdOEvMDmLr1jZ+QjWMYBoq7P0DxQPdZ9Vv8JtPAqxti5KxIdahU4Vu4cCFGjRqF0FDtXmMcDgeffPIJbty4gblz5+K3337DyJEjcf78eaSmplZrwoTYG9bTB3CMGq03rjTia6gC25sgI9vGKEshvboE6teXDIoXtl0JjgvNVmFNKtWX9tq1a/D2rvgBS29vb/zxxx+a161atcLr1+UPvrpy5Up069YN3t7eaNSoEYYPH47r169r1isUCixatAidOnVCnTp10KRJE4SFheHRI90X19PS0iAWi8v8u33bsJvQhFiMonw4Tuitt+hJx8xC8dYTVPTekbrkKSQn/4mSU4P0Fj2W0BOi93fAsXsqFT0rVKkzPk9PT+zbtw+ffvqp5jLnWyqVCnv37oWHx1+jP7x69QquruXfY0hPT8e4cePQpk0bMAyDmJgYDBw4EOfOnYOrqytKSkpw+fJlREREIDAwEIWFhZg/fz6GDBmC06dP6+00k5GRofXetWrRhJnESijkEC2fAc6fN3SGyXsNgfyTKdRT8x0pX16A7PJ8g2I5Hh/gEX8g/BtTsbNmlSp8U6ZMwezZs9GzZ0+MHj0aDRo0AADcvXsXW7duxZUrVxAbG6uJ37dvH9q0aVPuvpKTk7Veb9iwAT4+PsjIyECfPn3g4uKCffv2acXEx8cjODgYt27dQvPmzXXm6u7uTp1qiHVhGAgSvwbv1GGdYcrmbSGdFQtQj+kqYxgGige7obj7vUHxfL/x4PkMfvMiO9uImRFTqNRfzvjx48FmsxETE4OZM2dqRmlhGAY1a9ZEbGwsxo9/M42JTCZDTEyMpuenPsXFxVCr1Tpnby8qKgIAg2Z479q1K+RyOZo0aYKIiAh88AGNUkEsFy91NwQ71+mMUYvdUBLzA+DobJqkbBCjkkN2fQVUeWcMihe2igGnZvlf3on1YuXn5zOV3UihUCArK0tzv83b2xutW7cGj8erciJjxozBn3/+iRMnTpS5jAoAcrkc/fr1g6urK3766acK95OdnY20tDS0adMGcrkcu3btQmJiIg4dOoROnTrp3I4QU6tx+xIa7V6rN+7alBjIXd1NkJFtYitfwz13JTiqfL2xarYD8jy/gIpLt0esmb+/f4XrqlT4qtvcuXORnJyM1NRU1K9fv8x6pVKJsLAw3Lx5E4cPH0bNmjUrtf+3j17oKpi2JDs7W+cP3d5ZQvuwH2TDYaH+SV5L5q+B2v89E2T0F0ton+qiyv8D0t8jDIrl1GwLQeACvRO+2lL7GIM1tE+VbhIoFArcvn0bhYWFUKvVZda///77Bu8rKioKycnJSElJqbDojRs3DtevX8fBgwcrXfQAoG3btmXuKRJiDqxXeXCcqX+cW+mkBVB27GGCjGyT4nEK5Lf1n0kDAK/+CPAa/JsG2LcjlSp8DMNg2bJl2LRpEyQSSYVxr169Mmh/kZGR2Lt3L1JSUtC4ceMy6xUKBT799FPcuHEDBw8ehKenZ2XS1bh69WqVtyWkWshK4bBwAtjPdT+OIxs4BopBY0yTk41h1ErIb34L5fPfDIoXBC4A193wL+nEdlSq8K1atQrx8fEYPXo0OnXqhIkTJ2LJkiVwcXHBxo0bweVyDZ6INiIiArt27cL27dshFouRk5MDAHB0dISTkxOUSiVGjx6NrKws7Ny5EywWSxNTo0YNiEQiAMDEiRMBvOkVCgDr1q2Dj48PmjZtCrlcjt27d+PQoUPYtm1bZQ6VkOqhVkG4dgm4F07pDFN06AZZ+AKATdPUVBYjz0dp1mwwkof6g1lsiDokgO3oa/zEiMWqVOHbvn07+vfvj1WrVmnO6lq2bIkPP/wQoaGh6NGjB9LT0/Hhhx/q3dfmzZsBAAMGDNBaHhkZiaioKDx58gSHD7/p1t21a1etmLVr12LkyJEAgMePH2utUygUWLhwIZ4+fQqhUIimTZti9+7d6NWrV2UOlZB3xk9OBH+/7i9cqjr1Ubp4PSDQfV+JlKUqzIb0wjSDYtk1AiBsGQ0Wz8nIWRFrUKnC9/jxY0yZMgUAwP7/b6YymQwAIBAIMHz4cGzYsAHz5s3Tu6/8/Hyd6319ffXGAMChQ4e0Xs+YMQMzZhg2+zEhxsA98xuEG/QPaCxZtQeMK/UcrCzl8/9Cdl33IN1vcesNAN9/AlgsGjCa/KVShU8sFkMqlQJ4c7mRz+fjyZMnmvUCgcDg+3uE2Br27Stw+HK63riSpZug9rXsXm+WhmHUkGdvgPLxfoPi+U0jwKvd08hZEWtVqcLXtGlTXL16FcCbM742bdpgy5Yt6NWrF9RqNX744QeL78ZKSHVj5TyB4+yReuNKP4uBqnXFz5KSshhFMaSX50NdeNOgeGG71eDUoM8golulCt/QoUOxZcsWSKVSCIVCLFy4EIMGDUJgYCAAgMfjISkpySiJEmJxJEVwiBwFdlG+zjDZJ1Og+If+RxjIX9SSByg9Fw6g7ONSf8dy9IGo9Vdg8cVGz4vYBr2Fr3nz5ujYsSOCgoLQsWNHHDt2TLOuY8eOyMjIwOHDh8HlctGjRw80atTIqAkTYnZKJYRxX4B7I0tnmKJrP8jGzKJBpCtBmXcGsquG9Qznen0EfsAMsNg0ZimpHL2/MXXr1kVKSgp++eUXsFgsODs7o0OHDujYsSOCg4PRtm1bTJ482RS5EmJeDAP+9u/AP7pXZ5jK7z2UzlkJ8PgmSsy6MQwDxb1tUNzfaVA8v/Fk8Or1N3JWxJbpLXz/+c9/IJPJcPHiRZw7dw5nz55FZmYmjh49ChaLBT6fj1atWiE4OFjzz5BBpAmxJtz/7oNw2yqdMYyDEyRf7wCcXEyTlJVjVFLIri6D6tVFg+KFbeLAEZt2+DZim6o8Vue1a9dw7tw5ZGRkICMjQ/M8HZvNxosXL6o1SVI51jBWnjlVpn04VzMhiputN04S+yMYr4onabYmxv79UZc+R+n5aYCySG8sS1ALwrbxYAstZ4Bu+vvSzRrap8oXx5s3b45mzZqhXbt2aNu2Lfbu3Ytz586VO3YnIdaG/fguHOZ9qjeudE48VE1bmyAj66d4chjyW98ZFMtxfx+CZpFgcehyMal+lSp8UqkU58+f15zlnT9/HsXFxXB1dUX79u2xaNEiBAUFGStXQoyOVfAKDjOHgqVS6YyTjouE8oM+JsrKukmvLoMq77RBsbyGY8HzHUYDRhOj0lv4Dh48qCl0ly9fhkqlgr+/Pzp06ICYmBgEBQVZ/GktIXrJZRAtmwLOwzu6w0JGQD5soomSsl6MSoqSk4MAGHYnRdAyGly3dsZNipD/p7fwjRo1CjweD4MGDcLs2bPRvn17uLq6miI3QoxPrYZg03Lwzuge0V/ZqiOkM6IBNg19pYu65DFKM8IMC+Y4QNR+DdgOdYybFCF/o7fwBQcH49KlS9i9ezfOnDmjeYwhKCgIzZo1o0sSxGrxUnZAsGeTzhh1LS+URCcCIgcTZWWdlDmnILsWY3C8Q5efweI5GzEjQiqmt/D9+uuvUCgUyMrK0jzOEBMTg5cvX8LZ2Rnt27fXFMJ27drBwYE+IIhlc7lxEU7R+mc/l6zcBcaN5nHURXbzOyifHjYoll2jCYRt48Fi0dRLxLyq/DjDrVu3tB5nuH//PjgcDgIDA7VGdyGmZw3dic2BffcmHJZM0htXsmg91A0DTJCRZdL3+8OoFSg9828w8tcG7Y/XYBT4DfSPZWot6O9LN2tonyo/ztCkSRP4+/sjMDAQzZs3x4EDB5CZmYlLly5VY3qEvDvWyxw4zhquN6506mKo2nc1fkJWSi3NQ+mZUQbHC1utAKdmK+MlREgVVarwSSQSnD9/HmfPnkVGRgYuXryIkpISMAwDBwcHdOnSBcHBwcbKlZDKKS2Bw/yxYL/I0RkmGzIein62c0ZS3ZQvL0B2eb7B8aL3d4AtcDNiRoS8G72Fb//+/ZpCd+3aNahUKjAMA3d3d3Tr1g3BwcHo2LEjWrZsCQ6HerwRC6BSQvjtfHAvZ+gMU3T6CLLxUQCb7jmVR/7nD1A8+MmgWJbQA6Lg78GiXq/ECugtfGPGjAEANGrUCMOHD9cUOpqFgVgi/q4N4B/WPdhxiac31NGbAb7ARFlZD4ZRwf15DCSPnhkUz603AILG4UbOipDqpbfwbdu2DR07dkStWrVMkQ8hVcI99SuEW2J1xjBcHkpW7sLt3Jfwp6KnhZHnoyQ9FADAMyBeELgAXPf3jZsUIUait/D169fPFHkQUiWcG1kQrZipN67ky0So6zV88yL3pZGzsh6qguuQXpxlcLwoOJEeOCdWj2ZwJFaJ9fwRHCP19zAsjfgKqsAOJsjIuige/gL5Hd0P72uwBXDoshssDp0lE9tAhY9Yl+ICOEZ8AlapRGeY9N8zoewxwERJWQeGYSC9FAX160sGxXM8u0LYfI5xkyLEDKjwEeugkEO0YhY4d/7QGSb/aDDkI6cCNJSeBqOUoOTUYIPjX9cciXqtDH9ejxBrQ4WPWDaGgeD7b8A7eVBnmLJZG0g//wrg0q/0W+riuyjNnGxwvKjDOrCdGuJpdrYRsyLE/Mz6ANPKlSvRrVs3eHt7ax6XuH79ulYMwzBYvnw5AgIC4OXlhZCQENy4cUPvvvfv34+goCB4eHggKCgIKSkpxjoMYiS8Iz/DaUw3nUVPXcMVxetSII1cSUXv/yme/geSY70NLnoOH/wCx+6pYDs1NHJmhFgGsxa+9PR0jBs3DkeOHMGBAwfA5XIxcOBAvH791xiA3377LdauXYvY2FgcO3YM7u7uGDRoEIqKiircb2ZmJj799FMMHToUaWlpGDp0KMaMGYMLFy6Y4rDIO+JcOgOn0V0hSFqrM07ydRJKVu8FHGmUfwCQ/rEckmO9Ib+5Um8s27UNHLr9CsfuqWBxHU2QHSGWo8qDVBtDcXExfHx8sGPHDvTp0wcMwyAgIADjx49HREQEAKC0tBT+/v5YtmwZxo4dW+5+xo4di9evX2Pfvn2aZQMGDECtWrWwZcsWUxyKWVnDILHlYT+8A4cF+udyK5m3GurGgVV+H2ttn/IwKhlK0oYAaoVB8Xy/CeD5/FNnjC21jzFQ++hmDe1jUdeGiouLoVarIRaLAQAPHjxATk4OunfvrokRiUTo1KkTzp07V2HhO3/+PCZMmKC1rEePHti4caPRcidVx3r9Ao6fDdEbJ504D8pOH5kgI8unLnmK0oxPDY4Xtl0JjkszI2ZEiPWwqMI3Z84cBAYGokOHN89d5eS8GVzY3d1dK87d3R3PnlU8pFJOTk652+Tm5la4TbaN3dC3huNhy2VonPglRC90D4/1rPPHeN71/x9NqKbjsob2KY+w5BJqvjT8qsXzOjFQc5yBXAC5hh+ztbaPqVD76GYJ7aPrrNNiCt/cuXORkZGB1NRUswx2bemn5pVh8Zca1GoI1y0B9/xJnWHKdh9AOmURnNkcVOddPItvn3IonhyC/NZqg2LZTg0gbL8WLBYbVRlR1xrbx5SofXSzhvaxiMIXFRWF5ORkpKSkoH79+prlnp5vZr/Oy8uDt7e3ZnleXh48PDwq3J+npyfy8vK0lunbhpgGb+8PEOz7QWeMurY3SpZsBAQi0yRloRhGBfntdVA+OWRQPM83FPxGY4ybFCE2wOyFLzIyEnv37kVKSgoaN26stc7X1xeenp44fvw42rRpAwCQSqU4e/Ysli5dWuE+27dvj+PHj2P69OmaZcePH0dQUJBxDoLoxT37XwjXL9MbJ4n/GUxNd71xtoxRFEF6aS7URYZdLhK0jAbXrZ2RsyLEdpi18EVERGDXrl3Yvn07xGKx5p6eo6MjnJycwGKxEB4ejpUrV8Lf3x9+fn6Ii4uDo6Mjhgz5qzNE//790bZtWyxatAgAMGnSJPTt2xfx8fEICQnBwYMHkZaWhtTUVLMcpz1jZ/8Bh+ipeuNKlm6C2teyL48Ym7r4HkozDZ/iR9TpR7CF9v0lgZCqMGvh27x5M4A3jxr8r8jISERFRQEAZsyYgdLSUnzxxRfIz89H27ZtkZycDGfnv+763Lt3D3Xr1tW8DgoKQmJiIqKjoxETE4MGDRogMTER7drRt2JTYeU9g2PECL1xpTO+hKqNfU9vo8w9BdkfMQbFcmq2g6DFIrDYhkweRAgpj0U9x0eqh1lvLkuK4BA1GuyCVzrDZCMmQ9F7mImS0mYJN98ZhoHiz++heLjboHh+kxng1e1j5KzesIT2sWTUPrpZQ/uY/R4fsRFKJYQrI8G9dlFnmOLDEMjGRtjtINKMshTSq0sMniGBnr8jpPpR4SPvhmHA37EG/N9+0RmmatQMpVGrAB7fNHlZGHXJU5SenwKoSvXGsoReELb9BmyBmwkyI8T+UOEjVcY9th/CrfE6YxihAyRxSYCz2DRJWRjlywuQXZ5vUCzH40MImn0OFts+vxwQYipU+Eilcf64ANHXEXrjJCu2gantY4KMLAvDMFA82AXF3R8Miuf7jQfPx/D58ggh74YKHzEY68l9OM4dozeuNHIlVM3aGD8hC8Oo5JBdWwHVizMGxQtbxYBT0/7aiRBzo8JH9GIVvobDrGFgKXTPACAdGwFl149NlJXlUEvzIL04E4zshf5gXg2I2n0HtsjL+IkRQspFhY9UTC6D6Mtp4Ny/rTusz3DIQw1/8NpWqF5fhTTrC4NiOTXbQRA4HyyO0MhZEUL0ocJHymIYCDatAO/0EZ1hysAOkM6MATj29WukeHwA8tvrDIrl1R8JXoN/gWWnj28QYons6xOL6MU7tBOC3Rt0xqjdPFHyZSIgsp+Zuxm1EvKbq6B8ftSgeEHgQnDdOxk5K0JIVVDhIwAAzoU0iFYv0Bsn+eYnMLXs5/4UI89H6e+zwZQ81B/M4kDUIQFsR/vryUqINaHCZ+fY927CYfEkvXElC9dB3ch+RhBRFd6G9MJ0/YEA2DWaQthyGVg8JyNnRQipDlT47BTrZS4cZ+kfK1M6eRGUQd1MkJFlUDw7CvmNOINiufUGgu8/ASwW28hZEUKqExU+e1NaAocFYWDnPdUZJhs8Dor+o0yUlHkxjAry7A1QPj5gULyg2RfgevUwclaEEGOhwmcv1CoIv1sIbtZpnWGKjj0hmzAXYNv+WQyjKIb08nyoC28aFC9svxocZ8sedZ4Qoh8VPjvA370R/ENJOmNU3o1QunAdwBeYKCvz4SqeQXJsBgC13liWoy9ErWPB4ouNnhchxDSo8NkwbnoqhJtW6IxhOByUxP8MxqWmibIyH2XeaciuLoOHAbHc2r3AbzIdLDb9iRBia+iv2gY5PbgFp+jxeuNKohOh9m5ogozMh2EYKO5uheLBTwbF8xtPAa9ePyNnRQgxJyp8NoT1/DEcI/8FfXehSmfFQtUyyCQ5mQujkkJ2dSlUr343KF7YJg4c8XtGzooQYgmo8NmC4kI4fvEJWCXFOsNk/5oOxUf/NFFS5qEufYbS89MApe62AACWwB3CtivBFrqbIDNCiKWgwmfNlAqIYmeBc/uqzjB5j4GQj5oB2PB4kapXv0N6aa5BsaWilnDrsAwsDk34Sog9osJnjRgGgq3x4B3X/dyZKqAlSr+IA7g8EyVmWgzDQPFwDxR/bjEontfoU/B8huLpnTuoRUWPELtFhc/K8H5LhmD7dzpjFA5OkMXtBBydTZSVaTFqOWTXv4YqN82geEHLaHDd2hk5K0KItaDCZyU4lzMgWjlHb5zkq+24XVgKfxssemrZyzcTvkpz9QdzHCBqvwZshzrGT4wQYlWo8Fk49sM/4bBgnN64kqhvoQ5o+eZFYbaRszItVcF1SC/OMiiW7doawsCFYHFFRs6KEGKtzFr4Tp8+jdWrV+Py5ct49uwZ1q5di5EjR2rWi8XicrcLCwtDXFz5Awk/ePAALVu2LLN8z5496NmzZ7XkbQqs/JdwnDFYb5x0wlwo3+9lgoxMT/HkMOS3dF/WfYvnGwpew9E04SshRC+zFj6JRIJmzZphxIgRmDSp7NQ4t27d0nqdlZWF0NBQDBw4UO++f/nlF7z33l/PZbm6ur5zviYhk0K0NBycx/d0hsn7/QvyIWEmSsp0GLUK8lvfQflM9+zvbwnemw+uR2cjZ0UIsSVmLXy9evVCr15vzlYmT55cZr2np6fW68OHD8PPzw+dO+v/oKtZs2aZ7S2aWg3B+mXgnTuuM0zZpjOk05YAbI6JEjMNRl4A6aU5UBfrLvhviTqsB9upvnGTIoTYJKu5x1dcXIzk5GRERkYaFD9q1ChIpVI0atQIkydPxoABA4ycYdXx9m+DIDlRZ4zasx5Klm4EhA4myso0VEV/Qnp+ikGxbOfGELb6Eiye7XXcIYSYjtUUvj179kAul2PEiBE645ycnLBs2TIEBweDy+Xi8OHDGDt2LBISEjB8+PAKt8vONn2HEPG182iwd6PeuD+mx0JRoybw6InB+zbH8VSGSHIBrq+2GhQrceqCAvEQgMUG7j8H8Pyd39/S28fcqH10o/bRzRLax9+/4sEbrabwbd26FX379kWtWrV0xrm5uWHatGma161bt8arV6/w7bff6ix8uhqp2qnVcJj9L72TwZYs2Qh1/caoX8ndZ2dnm/Z4DMQwasjvbIbyUbJB8fyms8Cr3QuOgEEzKhjKUtvHUlD76Ebto5s1tI9VFL4rV64gKysLCxcurNL2bdu2xY4dO6o5q6rjph/RWfRKpy+Dqm0XE2ZkXIxSAunlhVAXXDMoXtjuW3BqNDFyVoQQe2UVhW/r1q3w9fVF165dq7T91atXLaqjC6vgVbnLZcMnQdE31MTZGI9a8gilmZMBRqE3luVQF6I2cWDxraT3LSHEapm18BUXF+Pu3bsAALVajcePH+PKlStwdXWFt7c3AKCkpAQ///wzpk+fXu4zWkuWLMHFixdx4MCbcSuTkpLA4/HQokULsNlspKamYvPmzVi8eLHJjksfRdcQcM/+Bs6T+29ed+4NWVikzQwirXyRAdmVxQbFcjy7Q9B0Jlhs2xxPlBBiecxa+LKystCv31+Tfi5fvhzLly/HiBEjkJCQAABITk6GRCLRerD9fz1//hz37ml3gY+Li8OjR4/A4XDQqFEjrFmzRuf9PZNzFqM0OhGQFALOYnNnUy0YhoHi/g4o7m03KJ7vPwk874HGTYoQQsrBys/PZ8ydBKlepry5zKikkP3xJVQvzxsUL2wdC45r2ZF1TMkabr6bE7WPbtQ+ullD+1jFPT5iedSlz1F6YQagKNAby+K7QtjuW7CF1dk3kxBCqoYKH6kU1atLkF7SP0sEAHBqBUPQPAosjsDIWRFCiOGo8BGDKB7thTx7g0GxvIajwfMNpQGjCSEWiQofqRCjVkB2PQ6q3JMGxQtaLAG3VpCRsyKEkHdDhY+UoZa9gvT3z8GUPtMfzBZA1GEt2A71jJ8YIYRUAyp8RENVcBPSi58ZFMsWt4CwxWKwuLY1aDYhxPZR4SNQPD0C+c14g2J5PkPAa/QpWCy2kbMihBDjoMJnpxhGBfntdVA+OWRQvKB5FLieHxo5K0IIMT4qfHaGURRBeikK6qI7BsUL268Dx7mhkbMihBDTocJnJ9TF91CaGW5QLNupEYStl4PFq2HkrAghxPSo8Nk4Zc4pyK7FGBTLrdMH/MZTwWJzjJwVIYSYDxU+W8SoIb+zBYqHPxsUzg+YAV6dPkZOihBCLAMVPhvCKEsgvbIYdfKvQP8MeICw7UpwXJoZOy1CCLEoVPhsgLrkyZsJX9UyvbEsYW0I28aBLXAzQWaEEGJ5qPBZMeWLTMiuLDQoluPxIQTNPgeLzTdyVoQQYtmo8FkZhmGgePATFHe3GhTP9xsPns9gI2dFCCHWgwqflWBUMsiuLYfqRYZB8cJWy8Gp2drIWRFCiPWhwmfh1NI8SC/MACN/pT+Y5wJRu2/x5+Mi+Ne07BmQCSHEXKjwWSjV6yuQZs02KJbj1h6C9+aBxRH+/5Ii4yVGCCFWjgqfhVE8PgD57XUGxfLqjwSvwb9owldCCKkEKnwWgFErIb8ZD+Xz/xoULwhcBK57RyNnRQghtokKnxkx8tco/f0LMCWP9QezuBB1WAe2o4/xEyOEEBtGhc8MVIW3Ib0w3aBYtkszCFsuA4vraOSsCCHEPlDhMyHFs6OQ34gzKJbrPQh8v/E04SshhFQzs36qnj59GqGhoWjatCnEYjF27NihtT48PBxisVjrX8+ePfXuNz09HR9++CE8PT3RsmVLJCYmGusQ9GIYFWS310FyrLdBRU/QbDYcu6dC4D+Rih4hhBiBWc/4JBIJmjVrhhEjRmDSpEnlxnTt2hUbNmzQvObzdQ+5df/+fQwbNgwjR47Exo0bkZGRgc8//xxubm4YMGBAteavC6MohvTyPKgLbxkUL2y/GhxnevaOEEKMzayFr1evXujVqxcAYPLkyeXGCAQCeHp6GrzP77//Hl5eXvj6668BAE2aNMGFCxewZs0akxQ+dfH9/5/wldEby3KsD1HrFWDxxUbPixBCyBsWf4/v7Nmz8PPzg4uLC95//30sWLAA7u7uFcZnZmaie/fuWst69OiBnTt3QqFQgMfjGSVPZW46ZH9EGxTLrd0L/CbTwWJbfPMTQojNsehP3p49e6Jfv37w9fXFw4cPER0djf79++PEiRMQCATlbpObm4uuXbtqLXN3d4dSqcTLly/h5eVVrTnK7+2A4t6PBsXyG08Fr97H1fr+hBBCKseiC9/gwX/NKtC8eXO0atUKgYGBOHLkCPr371+t75WdnV3pbRyLjsElf6/euBcen0EuaASUAqjC+1RFVY7HnlD76Ebtoxu1j26W0D7+/hX3mbDowvd3tWvXRp06dXD37t0KYzw8PJCXl6e1LC8vD1wuF25uFU++qquRKlJy5ssK7+SxBB4QtlsJtqAWTP0EXnZ2dpWOx15Q++hG7aMbtY9u1tA+VlX4Xr58iWfPnuns7NKhQwccPHhQa9nx48fRunXrar+/x3aqD5X0udYyjntnCJrNBotDE74SQoglMmvhKy4u1py9qdVqPH78GFeuXIGrqytcXV2xYsUK9O/fH56ennj48CGWLl0Kd3d3fPzxX/fJJk6cCACaRx7Gjh2LTZs2Yc6cORg7dizOnTuHpKQkbN68udrzFwTMhOLhHqhLHoHt0hw8nyE0YDQhhFg4sxa+rKws9OvXT/N6+fLlWL58OUaMGIGVK1fi+vXr+Omnn1BQUABPT0906dIF33//PZydnTXbPH6sPc5l/fr1sXv3bsydOxeJiYnw8vJCbGysUR5lYPFdwPcbV+37JYQQYjxmLXxdunRBfn5+heuTk5P17uPQoUNllnXu3BmnTp16l9QIIYTYKBoTixBCiF2hwkcIIcSuUOEjhBBiV6jwEUIIsStU+AghhNgVVn5+vv5pBAghhBAbQWd8hBBC7AoVPkIIIXaFCh8hhBC7QoWPEEKIXaHCRwghxK5Q4bNSz58/x6RJk9CoUSN4enoiKCgI6enpmvUMw2D58uUICAiAl5cXQkJCcOPGDTNmbDoqlQrR0dFo0aIFPD090aJFC0RHR0OpVGpi7Kl9Tp8+jdDQUDRt2hRisRg7duzQWm9IW+Tn52PChAnw8fGBj48PJkyYoHOcXWuiq30UCgUWLVqETp06oU6dOmjSpAnCwsLw6NEjrX3IZDJ88cUXaNiwIerUqYPQ0FA8efLE1IdiFPp+f/7XZ599BrFYjNWrV2stt7T2ocJnhfLz8/GPf/wDDMNg9+7dOHfuHL766iu4u7trYr799lusXbsWsbGxOHbsGNzd3TFo0CAUFRWZMXPTWLVqFTZv3ozY2FhkZmZixYoV2LRpE1auXKmJsaf2kUgkaNasGVasWAGRSFRmvSFtERYWhitXrmDPnj3Ys2cPrly5opkSzNrpap+SkhJcvnwZEREROHnyJJKSkvDkyRMMGTJE64tUVFQUUlJSsGXLFhw+fBhFRUUYPnw4VCqVqQ+n2un7/Xlr//79uHjxImrXrl1mnaW1Dz3HZ4WWLl2K06dP48iRI+WuZxgGAQEBGD9+PCIiIgAApaWl8Pf3x7JlyzB27FhTpmtyw4cPh6urK9avX69ZNmnSJLx+/Rq7du2y6/apW7cuvvrqK4wcORKAYb8rt27dQlBQEFJTUxEcHAwAOHv2LPr06YPz589b/GzblfH39inPzZs3ERwcjNOnT6N58+YoKCiAn58f1q5di2HDhgF4M11aYGAg9uzZgx49epgqfaOrqH0ePnyIf/zjH9i3bx+GDBmCCRMmYNq0aQBgke1DZ3xW6NChQ2jbti3Gjh0LPz8/dO7cGRs3bgTDvPkO8+DBA+Tk5KB79+6abUQiETp16oRz586ZK22TCQ4ORnp6Om7fvg3gzQdVWloaPvroIwDUPv/LkLbIzMyEk5MTgoKCNDHBwcFwdHS0u/YCoDkTFovFAIBLly5BoVBotWG9evXQpEkTu2gfpVKJsLAwREREoEmTJmXWW2L7mHU+PlI19+/fx5YtWzB58mR89tlnuHr1KiIjIwEAEyZMQE5ODgBoXfp8+/rZs2cmz9fUPvvsMxQXFyMoKAgcDgdKpRIREREICwsDALtvn/9lSFvk5ubCzc0NLBZLs57FYqFWrVrIzc01XbIWQC6XY/78+ejduzfq1q0L4E37cDgcuLm5acW6u7vbRfssX74cNWvWxLhx5U/KbYntQ4XPCqnVarRu3RqLFi0CALRs2RJ3797F5s2bMWHCBDNnZ37Jycn46aefsHnzZgQEBODq1auYM2cOfHx88O9//9vc6RErpVQqMWHCBBQUFGDnzp3mTscipKWlISkpCWlpaeZOpVLoUqcV8vT0LHNJoXHjxnj8+LFmPQDk5eVpxeTl5cHDw8M0SZrRwoULMXXqVAwePBjNmzdHaGgopkyZgvj4eADUPv/LkLbw8PDAy5cvNZfSgTf3Bl+8eGE37aVUKjFu3Dhcu3YN+/fvR82aNTXrPDw8oFKp8PLlS61t7OH3KT09Hc+fP0eTJk3g5uYGNzc3PHr0CIsWLUKzZs0AWGb7UOGzQsHBwbhz547Wsjt37sDb2xsA4OvrC09PTxw/flyzXiqV4uzZs1r3aWxVSUkJOByO1jIOhwO1Wg2A2ud/GdIWHTp0QHFxMTIzMzUxmZmZkEgkdtFeCoUCY8eOxbVr15CSkqL5svBWq1atwOPxtNrwyZMnmk5BtiwsLAynT59GWlqa5l/t2rUxefJk7N+/H4Bltg9d6rRCkydPRq9evRAXF4d//vOfuHLlCjZu3IgFCxYAeHP/JTw8HCtXroS/vz/8/PwQFxcHR0dHDBkyxMzZG1/v3r2xatUq+Pr6IiAgAFeuXMHatWsRGhoKwP7ap7i4GHfv3gXw5jL548ePceXKFbi6usLb21tvWzRp0gQ9e/bEzJkzsWrVKgDAzJkz8Y9//MMmenTqap/atWtj9OjRyMrKws6dO8FisTT3RWvUqAGRSAQXFxeMGjUKixYtgru7O1xdXTFv3jw0b94cXbt2NeORVQ99vz9/vz/M5XLh6emp+d2wxPahxxms1JEjR7B06VLcuXMH9erVw/jx4zFx4kRNBwSGYbBixQr88MMPyM/PR9u2bREXF6e5/GDLioqK8OWXX+LgwYN48eIFPD09MXjwYMyePRtCoRCAfbVPWloa+vXrV2b5iBEjkJCQYFBb5OfnY/bs2fj1118BAH369MFXX32l6dlozXS1z5w5c9CyZctyt1u7dq2mW79MJsP8+fOxZ88eSKVSfPDBB/jmm29Qr149o+ZuCvp+f/4uMDBQ63EGwPLahwofIYQQu0L3+AghhNgVKnyEEELsChU+QgghdoUKHyGEELtChY8QQohdocJHCCHErlDhI4QQYleo8BFiQ3bs2AGxWIzz589rLb9+/TrGjx+PgIAAuLu7o2nTppgwYQJu3rxppkwJMR8asowQG3fgwAGEhYXB1dUVo0aNgo+PDx4+fIgff/wR+/fvR2JiIkJCQsydJiEmQ4WPEBt27949TJo0CfXr18evv/6qNSdaeHg4+vTpg4kTJyI9PR3169c3X6KEmBBd6iTEhn333XcoKSnBqlWrykwE6ubmhvj4eBQXF2P16tVmypAQ06PCR4gNS01NhY+PDzp16lTu+vfffx8+Pj5ITU01cWaEmA8VPkJsVEFBAZ49e4b33ntPZ1zz5s3x5MkTFBUVmSgzQsyLCh8hNqq4uBgA4OTkpDPO2dlZK54QW0eFjxAb9bbg6StoRUVFYLFYZe4BEmKrqPARYqNcXFxQu3ZtXLt2TWfctWvXULduXfD5fBNlRoh5UeEjxIb17t0bDx48wNmzZ8tdf+bMGTx8+BADBgwwcWaEmA8VPkJs2LRp0+Dg4ICZM2fi1atXWutevXqFWbNmoUaNGhg/fryZMiTE9OgBdkJsWMOGDZGQkICwsDB06tSpzMgthYWFSExMpIfXiV2hwkeIjRswYAD8/f0RHx+Pbdu2IS8vD2q1GiKRCCdPnkTjxo3NnSIhJsXKz89nzJ0EIcS0du7cicmTJyM0NBQJCQnmTocQk6IzPkLs0IgRI5CTk4PFixejTp06WLBggblTIsRk6IyPEEKIXaFenYQQQuwKFT5CCCF2hQofIYQQu0KFjxBCiF2hwkcIIcSuUOEjhBBiV6jwEUIIsStU+AghhNiV/wNUNuO1giSpEAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "m = smf.ols('hwage ~ T*IQ', data=wage).fit()\n",
    "plt_df = wage.assign(y_hat = m.fittedvalues)\n",
    "\n",
    "plt.plot(plt_df.query(\"T==1\")[\"IQ\"], plt_df.query(\"T==1\")[\"y_hat\"], c=\"C1\", label=\"T=1\")\n",
    "plt.plot(plt_df.query(\"T==0\")[\"IQ\"], plt_df.query(\"T==0\")[\"y_hat\"], c=\"C2\", label=\"T=0\")\n",
    "plt.title(f\"E[T=1|IQ] - E[T=0|IQ] = {round(m.params['T'], 2)}\")\n",
    "plt.ylabel(\"Wage\")\n",
    "plt.xlabel(\"IQ\")\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Finally, let's look at the case where all the variables in our model are dummies. To do so, we will discretize IQ into 4 bins and treat years of education as a category."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hwage</th>\n",
       "      <th>educ</th>\n",
       "      <th>IQ_bins</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>19.225</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>16.160</td>\n",
       "      <td>18</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>20.625</td>\n",
       "      <td>14</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>16.250</td>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>14.050</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    hwage  educ IQ_bins\n",
       "0  19.225    12       1\n",
       "1  16.160    18       3\n",
       "2  20.625    14       2\n",
       "3  16.250    12       1\n",
       "4  14.050    11       0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "wage_ed_bins = (wage\n",
    "                .assign(IQ_bins = lambda d: pd.qcut(d[\"IQ\"], q=4, labels=range(4)))\n",
    "                [[\"hwage\", \"educ\", \"IQ_bins\"]])\n",
    "\n",
    "wage_ed_bins.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Treating education as a category, we no longer restrict the effect of education to a single parameter. Instead, we allow each year of education to have its own distinct impact. By doing so, we gain flexibility, since the effect of education is no longer parametric. This model simply computes the mean wage for each year of education."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "        <td></td>           <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th>     <td>   18.5600</td> <td>    3.011</td> <td>    6.164</td> <td> 0.000</td> <td>   12.651</td> <td>   24.469</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.10]</th> <td>   -0.7874</td> <td>    3.414</td> <td>   -0.231</td> <td> 0.818</td> <td>   -7.488</td> <td>    5.913</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.11]</th> <td>    0.1084</td> <td>    3.343</td> <td>    0.032</td> <td> 0.974</td> <td>   -6.452</td> <td>    6.669</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.12]</th> <td>    1.7479</td> <td>    3.049</td> <td>    0.573</td> <td> 0.567</td> <td>   -4.236</td> <td>    7.732</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.13]</th> <td>    4.3290</td> <td>    3.183</td> <td>    1.360</td> <td> 0.174</td> <td>   -1.918</td> <td>   10.576</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.14]</th> <td>    4.0888</td> <td>    3.200</td> <td>    1.278</td> <td> 0.202</td> <td>   -2.192</td> <td>   10.370</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.15]</th> <td>    6.3013</td> <td>    3.329</td> <td>    1.893</td> <td> 0.059</td> <td>   -0.231</td> <td>   12.834</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.16]</th> <td>    7.2225</td> <td>    3.110</td> <td>    2.323</td> <td> 0.020</td> <td>    1.120</td> <td>   13.325</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.17]</th> <td>    9.5905</td> <td>    3.366</td> <td>    2.849</td> <td> 0.004</td> <td>    2.984</td> <td>   16.197</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.18]</th> <td>    7.3681</td> <td>    3.264</td> <td>    2.257</td> <td> 0.024</td> <td>    0.962</td> <td>   13.775</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_dummy = smf.ols('hwage ~ C(educ)', data=wage).fit()\n",
    "model_dummy.summary().tables[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(wage[\"educ\"], wage[\"hwage\"])\n",
    "plt.plot(wage[\"educ\"].sort_values(), model_dummy.predict(wage[\"educ\"].sort_values()), c=\"C1\")\n",
    "plt.xlabel(\"Years of Education\")\n",
    "plt.ylabel(\"Hourly Wage\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "First of all, notice how this removes any assumption about the functional form of how education affects wages. We don't need to worry about logs anymore. In essence, this model is completely non-parametric. All it does is compute sample averages of wage for each year of education. This can be seen in the plot above, where the fitted line doesn't have a particular form. Instead, is the interpolation of the sample means for each year of education. We can also see that by reconstructing one parameter, for instance, that of 17 years of education. For this model, it's `9.5905`. Below, we can see how it is just the difference between the baseline years of education (9) and the individuals with 17 years\n",
    "\n",
    "$\n",
    "\\beta_{17} = E[Y|T=17]-E[Y|T=9]\n",
    "$\n",
    "\n",
    "The trade-off is that we lose statistical significance when we allow such flexibility. Notice how big the p-values are for some years."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "E[Y|T=9]: 18.56\n",
      "E[Y|T=17]-E[Y|T=9]: 9.590472362353516\n"
     ]
    }
   ],
   "source": [
    "t1 = wage.query(\"educ==17\")[\"hwage\"]\n",
    "t0 = wage.query(\"educ==9\")[\"hwage\"]\n",
    "print(\"E[Y|T=9]:\", t0.mean())\n",
    "print(\"E[Y|T=17]-E[Y|T=9]:\", t1.mean() - t0.mean())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we include more dummy covariates in the model, the parameter on education become a weighted average of the effect on each dummy group:\n",
    "\n",
    "$\n",
    "E\\{ \\ (E[Y_i|T=1, Group_i] - E[Y_i|T=0, Group_i])w(Group_i) \\ \\}\n",
    "$\n",
    "\n",
    "$w(Group_i)$ is not exactly, but is proportional to the variance of the treatment in the group $Var(T_i|Group_i)$. One natural question that arises from this is why not use the full nonparametric estimator, where the group weight is the sample size? This indeed is a valid estimator, but it is not what regression does. By using the treatment variance, regression is placing more weight on groups where the treatment varies a lot. This makes intuitive sense. If the treatment was almost constant (say 1 treated and everyone else untreated), it doesn't matter its sample size. It wouldn't provide much information about the treatment effect."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "         <td></td>            <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Intercept</th>       <td>   18.4178</td> <td>    2.991</td> <td>    6.158</td> <td> 0.000</td> <td>   12.548</td> <td>   24.288</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.10]</th>   <td>   -1.2149</td> <td>    3.392</td> <td>   -0.358</td> <td> 0.720</td> <td>   -7.872</td> <td>    5.442</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.11]</th>   <td>   -0.4687</td> <td>    3.332</td> <td>   -0.141</td> <td> 0.888</td> <td>   -7.008</td> <td>    6.070</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.12]</th>   <td>    0.3400</td> <td>    3.059</td> <td>    0.111</td> <td> 0.912</td> <td>   -5.664</td> <td>    6.344</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.13]</th>   <td>    2.4103</td> <td>    3.206</td> <td>    0.752</td> <td> 0.452</td> <td>   -3.882</td> <td>    8.702</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.14]</th>   <td>    1.8040</td> <td>    3.238</td> <td>    0.557</td> <td> 0.578</td> <td>   -4.551</td> <td>    8.159</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.15]</th>   <td>    3.8599</td> <td>    3.369</td> <td>    1.146</td> <td> 0.252</td> <td>   -2.752</td> <td>   10.472</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.16]</th>   <td>    4.4060</td> <td>    3.171</td> <td>    1.390</td> <td> 0.165</td> <td>   -1.817</td> <td>   10.629</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.17]</th>   <td>    6.7470</td> <td>    3.422</td> <td>    1.971</td> <td> 0.049</td> <td>    0.030</td> <td>   13.464</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(educ)[T.18]</th>   <td>    4.3463</td> <td>    3.332</td> <td>    1.304</td> <td> 0.192</td> <td>   -2.194</td> <td>   10.886</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(IQ_bins)[T.1]</th> <td>    1.4216</td> <td>    0.898</td> <td>    1.584</td> <td> 0.114</td> <td>   -0.340</td> <td>    3.183</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(IQ_bins)[T.2]</th> <td>    2.9717</td> <td>    0.930</td> <td>    3.195</td> <td> 0.001</td> <td>    1.146</td> <td>    4.797</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>C(IQ_bins)[T.3]</th> <td>    3.7879</td> <td>    1.022</td> <td>    3.708</td> <td> 0.000</td> <td>    1.783</td> <td>    5.793</td>\n",
       "</tr>\n",
       "</table>"
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.table.SimpleTable'>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_dummy_2 = smf.ols('hwage ~ C(educ) + C(IQ_bins)', data=wage_ed_bins).fit()\n",
    "model_dummy_2.summary().tables[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![img](./data/img/dummy/you_little_shit.png)\n",
    "\n",
    "## Key Ideas\n",
    "\n",
    "We started this section by looking at how some data points are more important than others. Namely, those with higher sample size and lower variance should be given more weight when estimating a linear model. Then, we looked at how linear regression can even handle grouped anonymised data with elegance, provided we use sample weights in our model.\n",
    "\n",
    "Next, we moved to dummy regression. We saw how it can be made a non parametric model that places no assumptions whatsoever on the functional form of how the treatment impacts the outcome. We then explored the intuition behind dummy regression.\n",
    "\n",
    "## References\n",
    "\n",
    "I like to think of this entire book as a tribute to Joshua Angrist, Alberto Abadie and Christopher Walters for their amazing Econometrics class. Most of the ideas here are taken from their classes at the American Economic Association. Watching them is what is keeping me sane during this tough year of 2020.\n",
    "* [Cross-Section Econometrics](https://www.aeaweb.org/conference/cont-ed/2017-webcasts)\n",
    "* [Mastering Mostly Harmless Econometrics](https://www.aeaweb.org/conference/cont-ed/2020-webcasts)\n",
    "\n",
    "I'll also like to reference the amazing books from Angrist. They have shown me that Econometrics, or 'Metrics as they call it, is not only extremely useful but also profoundly fun.\n",
    "\n",
    "* [Mostly Harmless Econometrics](https://www.mostlyharmlesseconometrics.com/)\n",
    "* [Mastering 'Metrics](https://www.masteringmetrics.com/)\n",
    "\n",
    "My final reference is Miguel Hernan and Jamie Robins' book. It has been my trustworthy companion in the most thorny causal questions I had to answer.\n",
    "\n",
    "* [Causal Inference Book](https://www.hsph.harvard.edu/miguel-hernan/causal-inference-book/)\n",
    "\n",
    "![img](./data/img/poetry.png)\n",
    "\n",
    "## Contribute\n",
    "\n",
    "Causal Inference for the Brave and True is an open-source material on causal inference, the statistics of science. It uses only free software, based in Python. Its goal is to be accessible monetarily and intellectually.\n",
    "If you found this book valuable and you want to support it, please go to [Patreon](https://www.patreon.com/causal_inference_for_the_brave_and_true). If you are not ready to contribute financially, you can also help by fixing typos, suggesting edits or giving feedback on passages you didn't understand. Just go to the book's repository and [open an issue](https://github.com/matheusfacure/python-causality-handbook/issues). Finally, if you liked this content, please share it with others who might find it useful and give it a [star on GitHub](https://github.com/matheusfacure/python-causality-handbook/stargazers).\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "celltoolbar": "Tags",
  "kernelspec": {
   "display_name": "causal-glory",
   "language": "python",
   "name": "causal-glory"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
